Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Problem z uploadem zdięć
Forum PHP.pl > Forum > Przedszkole
goofynow
Witam
Jaka może być przyczyna niedziałania tego kodu na serwerze bo w apache działa bez problemu. Nie wyświetlaja się żadne błędy tylko pusta strona. Po załadowania pliku upload_image.php daje nazwe zdjęcia i lokalizacje daje wyślij powinno przejść przez check_image.php i wyświetlić się zdjęce w showimage.php . Gdzie tkwi błąd?

upload_image.php
  1. <?php
  2. require_once 'head.php';
  3. ?>
  4.  
  5. <h3>Umieść obrazek na naszej witrynie!</h3>
  6.  
  7. <form name="form1" method="post" action="check_image.php"
  8. enctype="multipart/form-data">
  9.  
  10. <table border="0" cellpadding="5">
  11. <tr>
  12. <td><p>Tytuł obrazka</p></td>
  13. <td><input name="img_nazwa" type="text" id="item_nazwa" size="55"
  14. maxlength="255"></td>
  15. </tr>
  16. <tr>
  17. <td><p>Umieszczany obraz:</p></td>
  18. <td><input name="image_filename" type="file" id="image_filename"></td>
  19. </tr>
  20. </table>
  21. <br>
  22. <em>Przyjmowane są obrazy w formatach: GIF, JPG/JPEG i PNG.</em>
  23. <p align="center"><input type="submit" name="Submit" value="Wyślij">
  24. &nbsp;
  25. <input type="reset" name="Submit2" value="Wyczyść">
  26. </p>
  27.  
  28. </form>
  29. <?php
  30. require_once 'footer.php';
  31. ?>



check_image.php
  1. <?php
  2. require('conn.php');
  3.  
  4. // udostępnienie zmiennych
  5. $img_nazwa = $_POST['img_nazwa'];
  6. $img_fot = "fot/";
  7. $img_min = "fot/min/";
  8. $image_tempname = $_FILES['image_filename']['name'];
  9. $today = date("Y-m-d");
  10.  
  11. // umieszczenie obrazu i sprawdzenie jego formatu
  12. $ImageDir ="ftp://alinka.za.pl@alinka.za.pl/fot/";
  13.  
  14. // <a href="ftp://alinka.za.pl@alinka.za.pl/" target="_blank">ftp://alinka.za.pl@alinka.za.pl/</a>
  15. // c:/xampp/htdocs/gal
  16.  
  17.  
  18. // folder minaturek
  19. $ImageThumb = $ImageDir . "min/";
  20.  
  21.  
  22. $ImageName = $ImageDir . $image_tempname;
  23.  
  24. if (move_uploaded_file($_FILES['image_filename']['tmp_name'],
  25. $ImageName)) {
  26.  
  27. // pobranie informacji na temat umieszczonego obrazu
  28. list($width, $height, $type, $attr) = getimagesize($ImageName);
  29.  
  30. if ($type > 3) {
  31. echo "Przykro nam, ale przesłany obraz nie jest w formacie GIF, JPG lub " .
  32. "PNG.<br>";
  33. echo "Kliknij przycisk 'Wstecz' w przeglądarce i spróbuj ponownie.";
  34. } else {
  35.  
  36.  
  37. // wstawienie informacji w tabeli images
  38.  
  39. $insert = "INSERT INTO img
  40. (img_nazwa, img_date, img_fot, img_min)
  41. VALUES
  42. ('$img_nazwa', '$today', '$img_fot', '$img_min')";
  43. $insertresults = mysql_query($insert)
  44.  
  45. $lastpicid = mysql_insert_id();
  46.  
  47. $newfilename = $ImageDir . $lastpicid . ".jpg";
  48.  
  49. if ($type == 2) {
  50. rename($ImageName, $newfilename);
  51. } else {
  52. if ($type == 1) {
  53. $image_old = imagecreatefromgif($ImageName);
  54. } elseif ($type == 3) {
  55. $image_old = imagecreatefrompng($ImageName);
  56. }
  57.  
  58. // skonwertuj obraz do formatu JPG
  59. $image_jpg = imagecreatetruecolor($width, $height);
  60. imagecopyresampled($image_jpg, $image_old, 0, 0, 0, 0,
  61. $width, $height, $width, $height);
  62. imagejpeg($image_jpg, $newfilename);
  63. imagedestroy($image_old);
  64. imagedestroy($image_jpg);
  65. }
  66.  
  67.  
  68. $newthumbname = $ImageThumb . $lastpicid . ".jpg";
  69.  
  70. // pobierz wymiary miniaturki
  71. $thumb_width = $width * 0.10;
  72. $thumb_height = $height * 0.10;
  73.  
  74. // utwórz miniaturkę
  75. $largeimage = imagecreatefromjpeg($newfilename);
  76. $thumb = imagecreatetruecolor($thumb_width, $thumb_height);
  77. imagecopyresampled($thumb, $largeimage, 0, 0, 0, 0,
  78. $thumb_width, $thumb_height, $width, $height);
  79. imagejpeg($thumb, $newthumbname);
  80. imagedestroy($largeimage);
  81. imagedestroy($thumb);
  82.  
  83.  
  84. $url = "location:showimage.php?id=" . $lastpicid;
  85. header($url);
  86. }
  87. }
  88. ?>


showimage.php
  1. <?php
  2. require('conn.php');
  3. require_once 'head.php';
  4.  
  5.  
  6. // udostępnienie zmiennych
  7. $id = $_REQUEST['id'];
  8.  
  9.  
  10. if (isset($_REQUEST['mode'])) {
  11. $mode = $_REQUEST['mode'];
  12. } else {
  13. $mode = '';
  14. }
  15.  
  16.  
  17. // pobranie informacji o obrazie do wyświetlenia
  18. $getpic = mysql_query("SELECT * FROM img WHERE img_id = '$id'")
  19. $rows = mysql_fetch_array($getpic);
  20. extract($rows);
  21.  
  22. $image_filename = "fot/" . $img_id . ".jpg";
  23.  
  24. list($width, $height, $type, $attr) = getimagesize($image_filename);
  25.  
  26.  
  27. if ($mode == 'change') {
  28. echo "<font color=\"CC0000\"><em><strong>Obraz został
  29. zmodyfikowany.</strong></em></font>";
  30. echo "<img src=\"" . $image_filename . "\" align=\"left\" " .
  31. $attr . ">";
  32.  
  33. } else {
  34. ?>
  35.  
  36. <p>Oto obrazek, który właśnie umieściłeś na serwerze:
  37. <img src="<?php echo $image_filename; ?>" align="left"
  38. <?php echo $attr; ?> > <?php echo $img_date; ?>
  39. </p>
  40. <?php
  41. // koniec else
  42. }
  43. ?>
  44.  
  45. <hr>
  46. <p><em><strong>Zmodyfikuj obraz</strong></em></p>
  47. <form action="modifyimage.php" method="post">
  48. <h3>Umieszczenie znaku wodnego</h3>
  49. <input name="id" type="hidden" value="<?php echo $img_id; ?>">
  50.  
  51. <input name="watermark" type="checkbox"><font color="red">dołącz znak wodny</font><br>
  52.  
  53.  
  54. <p align="center">
  55. <input type="submit" name="action" value="podgląd">
  56. <input type="submit" name="action" value="zapis">
  57. </p>
  58. </form>
  59.  
  60. <?php
  61. require_once 'footer.php';
  62. ?>
MGraphics
A czy na serwerze gdzieś w katalogach są te pliki?

Ja osobiście odwoływał bym się do katalogi
./min/
untorched
Chyba sobie kpisz. Przecież w taki sposób nie umieścisz nic na serwerze FTP! Po za tym dodając plik próbujesz go umieścić na serwerze FTP, a odczytać z lokalnego folderu. LOL.

Czytaj to.
goofynow
To w takim razie jaką ścieżkę dać żeby nie przez ftp dodawać tylko przez serwer? Jakie linijki mam pozmieniać mam server na friko.pl założyłem tam dla testów i ugrzązłem na samym początku. Miałem nadzieje że zmienię tylko w check_image.php linijke ze ścieżka gdzie ma umieszczać zdjęcie, a tu nic nie działa zdjęcie sie nie dodaje i do bazy też nic się nie dodaje. Może mnie troche oświecicie bo kombinowałem już na rużne sposoby a jak czytam inne uploady które znalazłem tu na forum i w google to i tak nie wiem co i jak.
nospor
No przecież ci podano. Do wrzucania czegoś na ftp masz użyć biblioteki ftp
http://php.net/manual/pl/book.ftp.php
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.