Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Upload pliku - proszę o pomoc gdzie jest błąd
Forum PHP.pl > Forum > PHP
unloco
Próbuję uploadować plik na serwer. Może ktoś mi powiedzieć gdzie jest błąd przez który to nie działa? Z góry dziękuję.

plik: admin_gallery_edit.php

  1. echo "<form method=post action='admin_gallery_add_photos.php'>";
  2. echo "<table width='100%' align='center'>";
  3.  
  4. echo "<tr>";
  5.  
  6. echo "<td width='290' align='left'>Foto 1 (do 800kb, png/jpg/jpeg/gif)</td>";
  7. echo "<td width='433' align='left'>";
  8. echo "<input name='plik' type='file' size='40'>";
  9.  
  10. echo "</td>";
  11. echo "<input name='dodawanie_fot' type='hidden' size='50' value='prawda'>";
  12. echo "</tr>";
  13.  
  14. echo "</table>";
  15.  
  16. echo "<input type=submit value='Dodaj zdjęcia'>";
  17.  
  18. echo "</form>";


plik: admin_gallery_add_photos.php
  1. if ($_SESSION['logged_user'] != 'site_admin') // zmienić na RÓWNE 'site_admin' po napisaniu strony!
  2. {
  3.  
  4. // if ($dodawanie_fot == 'prawda')
  5.  
  6. // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! START: UPLOAD PLIKU NA SERWER !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  7.  
  8. if ((($_FILES["plik"]["type"] == "image/gif")
  9. || ($_FILES["plik"]["type"] == "image/jpeg")
  10. || ($_FILES["plik"]["type"] == "image/pjpeg"))
  11. && ($_FILES["plik"]["size"] < 307200 && $_FILES["plik"]["size"] > 6000)) // max rozmiar pliku 300kb
  12. {
  13. $plik_tmp = $_FILES["plik"]["tmp_name"]; echo "Nazwa pliku tymczasowego: ".$plik_tmp."<br>";
  14. $plik_nazwa = $_FILES["plik"]["name"]; echo "Nazwa pliku normalnego: ".$plik_nazwa."<br>";
  15. $plik_rozmiar = $_FILES["plik"]["size"]; echo "Rozmiar pliku: ".$plik_rozmiar."<br>";
  16.  
  17. if(is_uploaded_file($plik_tmp))
  18. {
  19. $rozszerzenie= end(explode(".", $_FILES["plik"]["name"]));
  20. $nowa_nazwa = rand(0,65536000);
  21. $nowa_nazwa = md5($nowa_nazwa);
  22. $nowa_nazwa.=".".$rozszerzenie;
  23.  
  24.  
  25.  
  26. $katalog = "galleries/$nowa_nazwa";
  27. move_uploaded_file($plik_tmp, "galleries/$nowa_nazwa");
  28. echo "Plik: <strong>$nowa_nazwa</strong> o rozmiarze
  29. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  30. echo "<img src='$katalog'>";
  31. }
  32. }
  33.  
  34. }



Wynik:


EDIT o 17:42

Dlaczego za pomocą total commandera nie widzę zawartości katalogu do którego został wgrany po uploadzie pliku skoro gdy już tego dokonam mogę wyświetlić jego zawartość za pomocą:
  1. $katalog = "galleries/$nowa_nazwa";
  2. echo "<img src='$katalog'>";


Czy to się wiąże z koniecznością ustawienia odpowiednich uprawnień pliku po jego wgraniu za pomocą kodu php?
Spawnm
Dodaj enctype="multipart/form-data" do <form >
unloco
Działa. Wielkie dzięki. Taki szczególik ale zatrzymał mnie na cały dzień :|

Jeszcze jedno pytanie: Dlaczego używając total commandera nie widzę zawartości katalogu do którego są uploadowane pliki? Czy mam po przegraniu ich na docelowy katalog zmienić za pomocą php poleceniem chmod ich uprawnienia? Uprawnienia katalogu są na 755 a i przy zmianie ich na 777 też nie widzę.
kiler129
Cytat(unloco @ 25.09.2010, 17:38:59 ) *
Działa. Wielkie dzięki. Taki szczególik ale zatrzymał mnie na cały dzień :|

Jeszcze jedno pytanie: Dlaczego używając total commandera nie widzę zawartości katalogu do którego są uploadowane pliki? Czy mam po przegraniu ich na docelowy katalog zmienić za pomocą php poleceniem chmod ich uprawnienia? Uprawnienia katalogu są na 755 a i przy zmianie ich na 777 też nie widzę.


TC ma cache katalogu, spróbuj odświeżyć katalog po wejściu - nie pamiętam klawiszologii (nie używam Windows`a) jednakże w FileZilla jest do tego guzik (w TC też powinien).
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.