Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Generowanie obrazków PHP HTML
Forum PHP.pl > Forum > PHP
Song
Witam potrzebuje pomocy dotyczącej generowania obrazka w kodzie php za pomocą formularza oto kod

  1. $im = imagecreatefrompng("status/background.png");



Mój kod to

  1. $im = imagecreatefrompng("$imgname");


Formularz

  1. <p>Obraz: <select name="imgname" value="imgname">
  2. <option value="">Wybierz obraz serwera</option>
  3. <option value="status/background.png">Sygnatura 1</option>
  4. <option value="status/background2.png">Sygnatura 2</option>
  5. </select></p>


Chodzi mi o to żeby generować właśnie ten adres do background.png w formularzu.
Jak to zrobić i co robie zle ?
adbacz
  1. $type = isset($_POST['imgname']) ? $_POST['imgname'] : '');
  2.  
  3. if($type != '')
  4. {
  5. $image = imagecreatefrompng();
  6.  
  7. // ...tutaj reszta kodu która robi coś z obrazkiem
  8. }
skarabe.pl
  1. $im = empty($_POST['imgname']) ? null : imagecreatefrompng($_POST['imgname']);
adbacz
@skarabe.pl - funkcja empty sprawdza, czy element jest pusty, ale nie czy istnieje. A co jeśli kod zostanie wykonany bez wysłania formularza, i nie będzie indeksu 'imgname'? PHP wyrzuci błąd.

Piszmy kod tak, by działał na włączonym pełnym raportowaniu błędów...
nospor
@adbacz akurat funkcja empty() nie generuje NOTICEow, gdy nie ma indeksu smile.gif
Song
Niestety żaden z waszych kodów nie działa, powtóżę jeszcze raz.

Chce aby w tym kodzie

  1. $im = imagecreatefrompng("status/background.png");


tam gdzie jest status/background.png generował mi np "status/background2.png , status/background3.png" itp.

oto pozodatała część kodu
  1.  
  2. // utworzenie obrazka z tla
  3. $im = imagecreatefrompng("status/background.png");
  4. // kolor bialy
  5. $white = imagecolorallocate($im, 255, 255, 255);
  6. // polaczenie informacji do jednej zmiennej
  7. $info = $server ." ". $players ." / ". $playersmax ." ". $map;
  8. // gorny rzad, nazwa serwera
  9. imagettftext($im, 7, 0, 30, 10, $white, VIRO, $hostname);
  10. // dolny rzad, ip serwera, gracze, mapa
  11. imagettftext($im, 8, 0, 20, 21, $white, VIRO, $info);


a formularz
  1. <p>OBRAZ: <select name="imgname" id="imgname">
  2. <option value="">Wybierz typ serwera</option>
  3. <option value="status/background2.png">Obrazek 1</option>
  4. <option value="status/background.png">obrazek2</option>
  5. </select></p>
adbacz
Chodzi Ci o to, by po wybraniu jednej z opcji formularza: "Obrazek 1" lub "obrazek 2", kod który podałeś jako pierwszy pobierał dany obrazek i abyś mógł dalej na nim operować tak?

Czyli jeśli użytkownik wybierze opcję "Obrazek 1", to Ty chcesz dalej operować na obrazku "status/background2.png", a gdy wybierze "obrazek2", to chcesz operować na obrazku "status/background.png"?

@nospor - nie używam tej funkcji, wydawało mi się, że pokaże błąd. Zwracam honor w takim razie.
Song
Tutaj jest demo tego może zrozumiesz o co mi chodzi http://maxparty.pl/status/
CuteOne
  1. $bg = array(
  2. 1 => 'bg1.png',
  3. 2 => 'bg2.png',
  4. 3 => 'bg3.png',
  5. );
  6.  
  7. $userBG = (!empty($_POST['bg']) && array_key_exists($_POST['bg'], $bg)) ? $bg[$_POST['bg']] : $bg[1];
  8.  
  9. $im = imagecreatefrompng("status/" . $userBG);


Zwróć uwagę co trzeba wstawić w value="" selecta
Song
Czyli tak będzie dobrze ?
  1. <p>OBRAZ: <select name="userBG" value="userBG">
  2. <option value="">Wybierz typ serwera</option>
  3. <option value="1">BG 1</option>
  4. <option value="2">BG 2</option>
  5. <option value="3">BG 3</option>
  6. </select></p>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.