Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Upload plików na serwer - błędy
malinka94
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 19.01.2014

Ostrzeżenie: (0%)
-----


Witam! Jestem w trakcie pisania galerii w PHPie. Jest to mój pierwszy projekt w tym języku, wcześniej niestety miałam tylko kilka wykładów, po czym rzucono mnie na głęboką wodę... i tak o to zwracam się do Was z problemem.

Poniższy kod zrobiłam na podstawie kodu z pewnej książki, trochę go przekształcając pod swoje wymagania. Służy on do uploadu obrazów, ale przy próbach wrzucenia jakiegoś zdjęcia (wg wytycznych - do 1MB, format .jpg lub .png) wyskakują mi błędy:

Warning: move_uploaded_file(/usr/local/apache/htdocs/images/oryginalne/tumblr_lwr67cmtul1qickddo1_500.png) [function.move-uploaded-file]: failed to open stream: Permission denied in /usr/local/apache/htdocs/ProjektWAI/wyslij.php on line 49

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpmCPCiU' to '/usr/local/apache/htdocs/images/oryginalne/tumblr_lwr67cmtul1qickddo1_500.png' in /usr/local/apache/htdocs/ProjektWAI/wyslij.php on line 49


Bardzo proszę o jakieś rady. Podana linia 49 to ta zawierająca ostatniego if'a - tutaj nr 22. Niestety sama nie potrafię tego ogarnąć.

  1. //sprawdzenie, czy przy probie wyslania pliku wystapil blad
  2. if ($_FILES['plikuzytkownika']['error'] > 0) {
  3. echo "Problem: ";
  4. switch ($_FILES['plikuzytkownika']['error']) {
  5. case 1: echo 'Rozmiar pliku przekroczyl wartosc upload_max_filesize'; break;
  6. case 2: echo 'Rozmiar pliku przekroczyl wartosc ma_file_size'; break;
  7. case 4: echo 'Nie wyslano zadnego pliku'; break;
  8. default: echo 'Wystapil blad podczas wysylania'; break;
  9. } exit;
  10. }
  11.  
  12. //czy plik ma prawidlowy typ MIME?
  13. if ($_FILES['plikuzytkownika']['type'] != ('image/png' && 'image/jpg')) {
  14. echo "Niewlasciwy format pliku!";
  15. }
  16.  
  17. //umieszczenie pliku w zadanej lokalizacji
  18. $lokalizacja = '/usr/local/apache/htdocs/images/oryginalne/'.$_FILES['plikuzytkownika']['name'];
  19.  
  20. if (is_uploaded_file($_FILES['plikuzytkownika']['tmp_name'])) {
  21. if (!move_uploaded_file($_FILES['plikuzytkownika']['tmp_name'], $lokalizacja)) {
  22. echo 'Plik nie moze zostac skopiowany do katalogu';
  23. } else {
  24. echo 'Wysylanie pliku na serwer powiodlo sie<br><br>';
  25. }
  26. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Wystarczy zastanowić się nad treścią błędu, głównie chodzi mi o wyrażania "failed to open stream", "Permission denied" - na pewno jest o tym nie jeden wpis w Google.
Skrócie - brak uprawnień do zapisywania w folderze, sprawdź chmody/własności.

Ten post edytował markonix 20.01.2014, 00:56:40
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 15:58