Zmagam się od godziny z pewnym problemem: Zamiast obrazka mam krzaka. Kod mimo, że pochodzi z książki ma w sobie błąd, nie wiem gdzie dokładnie:
plik create_images_table.php
<?php // połączenie z bazą danych // utworzenie tabeli images $sql = "CREATE TABLE IF NOT EXISTS images ( image_id INT(11) NOT NULL AUTO_INCREMENT, image_caption VARCHAR(255) NOT NULL, image_username VARCHAR(255) NOT NULL, image_date DATE NOT NULL, PRIMARY KEY (image_id) )"; ?>
plik upload_image.htm
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> <title>Umieść obrazek na naszej witrynie!</title> </head> <body> <form name="form1" method="post" action="check_image.php" enctype="multipart/form-data"> <table border="0" cellpadding="5"> <tr> <td>Tytuł obrazka<br> <em>Przykład: Do mnie mówisz?</em></td> <td><input name="image_caption" type="text" id="image_caption" size="55" maxlength="255"></td> </tr> <tr> <td>Nazwa użytkownika</td> <td><input name="image_username" type="text" id="image_username" size="15" maxlength="255"></td> </tr> <tr> <td>Umieszczany obraz:</td> <td><input name="image_filename" type="file" id="image_filename"></td> </tr> </table> <br> <em>Przyjmowane ą obrazy w formatach: GIF, JPG/JPEG i PNG.</em> <p align="center"><input type="submit" name="Submit" value="Wyślij"> <input type="reset" name="Submit2" value="Wyczyść"> </p> </form> </body> </html>
Plik check_image.php
<?php // połączenie z bazą danych // udostępnianie zmiennych $image_caption = $_POST['image_caption']; $image_username = $_POST['image_username']; $image_tempname = $_FILES['image_filename']['name']; // umieszczenie obrazu i sprawdzenie jego formatu // pamiętaj o zmianie poniższej ścieżki na odpowiednią w Twoim systemie $ImageDir = "C:/Program Files/Apache Group/Apache2/test/images/"; $ImageName = $ImageDir . $image_tempname; // pobranie informacji na temat umieszczonego obrazu switch ($type) { case 1: $ext = ".gif"; break; case 2: $ext = ".jpg"; break; case 3: $ext = ".png"; break; default: } // wstawienie informacji do tabeli images $insert = "INSERT INTO images (image_caption, image_username, image_date) VALUES ('$image_caption', '$image_username', '$today')"; $newfilename = $ImageDir . $lastpicid . $ext; } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> <title>Oto umieszczony obrazek!</title> </head> <body> <h1>Czy wspaniale jest być sławnym?</h1><br><br> <p>Oto obrazek, który właśnie umieściłeś na serwerze:</p> </body> </html>
Wszystkie dane ładnie sie wyświetlają (podana długość i szerokość obrazka zgadza się), tylko zamiast obrazka pojawia się krzaczek.
Co jest nie tak?? Szukałem na wielu stronach, lecz nic niestety nie znalazłem.