Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Upload plików na serwer - błędy
Forum PHP.pl > Forum > Przedszkole
malinka94
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. }
markonix
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.
malinka94
Dzięki smile.gif

Nie chcę już zaśmiecać forum, mam znowu pewiem błąd, ale dotyczy on pliku z rejestracją użytkowników. Szukałam informacji na ten temat w googlach, ale niestety nadal nie wiem jak trzeba przekształcić kod by był poprawny.
Błąd:
Fatal error: Call to a member function addChild() on a non-object in /usr/local/apache/htdocs/ProjektWAI/nowa_rejestracja.php on line 43
W podanym fragmencie kodu jest to linijka nr 3.

  1. $xml = @simplexml_load_file('uzytkownicy.xml');
  2.  
  3. $user = $xml->addChild('uzytkownik'); //dodaj znacznik user, a w nim:
  4. $user->addChild('identyfikator', $id); //id
  5. $user->addChild('nazwa_uzytkownika', $nazwa_uz); //nazwe uzytkownika
  6. $user->addChild('haslo', md5($haslo)); //haslo zakodowane w MD5
  7.  
  8. $str = $xml->asXML(); //przypisz do $str zmieniona wartosc pliku xml
  9. $q = fopen('uzytkownicy.xml', 'w+'); //otworz plik uzytkownicy.xml
  10. fwrite($q, $str); //napisz plik uzytkownicy.xml zmieniona wartoscia pliku xml przypisana do zmiennej $str
  11. fclose($q); //zamknij plik


Chcę tutaj, aby powstał mi plik xml o strukturze:
  1. <uzytkownik>
  2. <identyfikator></identyfikator>
  3. <nazwa_uzytkownika></nazwa_uzytkownika>
  4. <haslo></haslo>
  5. </uzytkownik>


Użytkownik jest tutaj korzeniem, nie dzieckiem. Czy błąd wynika z tego?

Odświeżam :X

Problem w moim drugim poście.
IceManSpy
Skasuj @ z 1 linijki, bo może tam nie ma w ogóle pliku. Zrób sobie var_dump($xml) i zobacz co tam siedzi.
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.