Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Funkcja md5_file nie działa, czemu?
Forum PHP.pl > Forum > Przedszkole
kafar610
Witam
Nie działa mi funkcja md5_file, wyskakujeWarning: md5_file(images/test1.png) [function.md5-file]: failed to open stream: No such file or directory i wskazuje na ta linijke $md5file = md5_file($filename);
a wszystko podałem ...
  1. <?php
  2. define('GW_LOKALIZACJA', 'images/');
  3. define('GW_MAXFILESIZE', 5242880); // 5000 kilobajtow. 5mb
  4. $img = $_FILES['image'];
  5.  
  6. //walidacja start
  7. if ((empty($image))) {
  8.  
  9. echo "Nie wstawiłes zdjecia";
  10.  
  11. }
  12.  
  13. //walidacja end
  14. //wykoananie skryptu
  15. if ((!empty($image))) {
  16.  
  17. foreach ($img['tmp_name'] as $key => $tmp_name) {
  18.  
  19. $image = $_FILES['image']['name'][$key];
  20. $image_type = $_FILES['image']['type'][$key];
  21. $image_size = $_FILES['image']['size'][$key];
  22. $id= 0;
  23.  
  24. if (($image_type == 'image/gif') || ($image_type == 'image/jpeg') || ($image_type == 'image/pjpeg') || ($image_type == 'image/png')) {
  25.  
  26. if (($image_size > 0) && ($image_size <= GW_MAXFILESIZE)) {
  27.  
  28. // Przenoszenie plików do docelowego katalogu.
  29. $target = GW_LOKALIZACJA . $image;
  30.  
  31. $filename = "$target";
  32. $md5file = md5_file($filename);
  33. echo $md5file;
  34. //pobranie rozszerzenia
  35. $odczyt = pathinfo($image);
  36. $ext = $odczyt['extension'];
  37. //pobranie rozszerzenia
  38.  
  39. if (move_uploaded_file($_FILES['image']['tmp_name'][$key], GW_LOKALIZACJA . $md5file . "." . $ext)) {
  40.  
  41. $connect = mysqli_connect(HOST, USER, PASSWORD, NAZWA_BAZY, PORT)
  42. or die('Brak połączenia z serwerem MySQL');
  43.  
  44. echo 'Połączenie nawiązane<br />';
  45. // dodajemy rekord do bazy
  46.  
  47. $ins = "INSERT INTO obrazki VALUES ('$id',NOW(),'$target' ,'$md5file')";
  48.  
  49.  
  50. $query = mysqli_query($connect, $ins);
  51.  
  52. if ($query)
  53. {
  54. echo 'Dane zostały wpisane do bazy <br />';
  55. }
  56. else
  57. echo 'Błąd przy dodawaniu rekordów do bazy <br />';
  58.  
  59. //echo '<img src="' . GW_LOKALIZACJA . $image . '" width="500px" heith="500px" alt="image" /></p>';
  60.  
  61. echo 'Nazwa: ' . $img['name'][$key] . '<br/>';
  62. echo 'Rozmiar: ' . $img['size'][$key] . '<br/>';
  63. echo 'Rozszerzenie pliku ' . $ext . "<br />";
  64. echo '<img src="' . GW_LOKALIZACJA . $image . '" width="300px" heith="300px" alt="image" /></p><br />';
  65. ?>
  66. <form>
  67. <input onclick="this.form.txt.select();" type="button" value="zaznacz kod">
  68. <textarea style="resize: none;" name="txt" cols="50" rows="4"><?php echo 'http://kafar.nazwa.pl/wrzucfote.pl/' . GW_LOKALIZACJA . $md5file . "." . $ext;?> </textarea>
  69. </form>
  70. <?php
  71.  
  72. mysqli_close($connect);
  73. }
  74. }
  75. else
  76. echo "Obrazek nie moze być wiekszy niż 5 mb";
  77. }
  78. else
  79. echo "Przesłany plik nie jest obrazekiem!!! <br /> Dostępne rozszerzenia: .gif, .jpeg, .pjpeg, .png ";
  80. }
  81. }
  82. }
  83. //wykoananie skryptu
  84. ?>
Pyton_000
Chcesz liczyć MD5 z pliku który przecież nie istnieje. Musisz liczyć z tego: $_FILES['image']['tmp_name'][$key]

I po co takie cuda: $filename = "$target";
kafar610
Próbowałem już ze zmienna $image i tez nie działa
Pyton_000
A czy Twoja zmienna $image to to co ja podałem? Nie wydaje mi się...
kafar610
Działa, dzięki. A powiedz mi jeszcze jakim cudem jak wcześniej tam było $target to działało?
Pyton_000
Nie mogło działać, chyba że przesyłałeś wcześniej plik o takiej samej nazwie która już istnieje.
kafar610
a no to możne dlatego
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.