1.
- $plik - trzeba go jakoś zdefiniować?
nie wiem czy dobrze zrozumiałem pytanie
spójrz na linijkę trzecią... tam jest definicja funkcji, której pierwszym parametrem jest zmienna $plik, więc samego pliku jako taki nie definiujesz, a jedynie przekazujesz do tej funkcji jako parametr.
z resztą wywołanie tej funkcji możesz zauważyć w linijce numer 55 (przed ostatnia)... nazwa obrazka jest pobierana z globalnej tablicy asjocjacyjnej $_GET, w której umieszczone są zmienne z zapytania HTTP (tu jest np. zmienna o nazwie "obrazek")
2.
adres dla $znaczek - wpisać w "" coś typu: "http://www.domena.pl/images/znaczek.gif"?
tak : p
3.
imagesx($image1) - tu trzba wpisać konkretną liczbę?
nie
imagesx to funkcja, która zwraca z tego co widzę szerokość obrazu, który przymuje jako parametr.
w tym skrypcie pod zmienną $image1 zapisywany jest ten znak wodny, i to jego rozmiar jest tutaj ustalany... jak wstawisz tam cyferkę to skrypt w ogóle nie powinien działać
4.
jak działa header?
header dodaje po prostu podaną opcję do nagłówka odpowiedzi HTTP
ja generalnie nie znam się na php, więc mam nadzieję, że jakoś sensownie rozwiałem Twoje wątpliwości : p