Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Permission denied in i Unable to move : wgrywanie plików na serwer
Forum PHP.pl > Forum > PHP
DeemR
Witam,
mam taki skrypt, który umożliwia wgrywanie kilku plików na raz. Dane są wysyłane w tabeli. Mam taki kod aby wrzucić plik na serwer (chmody 777 nadane):

  1. if ($_POST['add_images']) {
  2. $album = $_POST['album'];
  3. $plik_tmp = $_FILES['plik']['tmp_name'];
  4. $plik_nazwa = $_FILES['plik']['name'];
  5. $plik_rozmiar = $_FILES['plik']['size'];
  6. $time = time();
  7. $folder = "../galeria/album-".$album;
  8. $count = count($plik_nazwa);
  9. if (!file_exists($folder)) {
  10. mkdir($folder, 0777);
  11. echo "Utworzono folder o nazwie: ".$folder. "<br/><br/>";
  12. }
  13.  
  14. for ($i = 0; $i < $count; $i++) {
  15. echo $plik_nazwa[$i]."<br/>";
  16. move_uploaded_file($plik_tmp[$i], "../galeria/album-$album");
  17. /*
  18. $insert = dbquery("INSERT INTO ".$db_prefix."images
  19. (img_id, img_album, img_name, img_size, img_added, img_userid, img_opis)
  20. VALUES
  21. ('', '".$album."', '".$plik_nazwa[$i]."', '".$plik_rozmiar[$i]."', '".$time."', '".$userdata['user_id']."', '')");
  22.  
  23. echo "<br/>";
  24. echo "Plik: <strong>".$plik_nazwa[$i]."</strong> o rozmiarze
  25. <strong>".$plik_rozmiar[$i]." bajtów</strong> został przesłany na serwer. <br/>";
  26. */
  27. }


i wyświetla na przykład takie coś przy dwóch plikach:

  1. tron-legacy-mobile.jpg
  2.  
  3. Warning: move_uploaded_file(../galeria/album-8) [function.move-uploaded-file]: failed to open stream: Permission denied in C:\AppServ\www\cms\admin\galeria.php on line 94
  4.  
  5. Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\WINDOWS\Temp\php221C.tmp' to '../galeria/album-8' in C:\AppServ\www\cms\admin\galeria.php on line 94
  6. f8551ec3tron_legacy.jpg
  7.  
  8. Warning: move_uploaded_file(../galeria/album-8) [function.move-uploaded-file]: failed to open stream: Permission denied in C:\AppServ\www\cms\admin\galeria.php on line 94
  9.  
  10. Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\WINDOWS\Temp\php221D.tmp' to '../galeria/album-8' in C:\AppServ\www\cms\admin\galeria.php on line 94



Safe_mode na serwerze wyłączony. Chmody sprawdzałem kilka razy już. Nie wiem co jest grane.

Proszę o pomoc
Pozdrawiam
DeemR
webdice
Musisz podać ścieżki bezwzględne.

P.S. Tytuł tematu ma opisywać problem.
DeemR
Czyli zamienić:
  1. move_uploaded_file($plik_tmp[$i], "../galeria/album-$album");


na :

  1. move_uploaded_file($plik_tmp[$i], "C:\AppServ\www\cms\galeria\album-$album");


?
webdice
Lepiej czekać na odpowiedź, niż spróbować samemu?

P.S. Ścieżek nie musisz podawać co prawda bezwzględnych, ale często miałem z tym problemy.
DeemR
No właśnie pytam dlatego żeby sie upewnić czy dobrze napisałem. Sprawdzałem - nie działa. Dodam, że mamy w innym pliku wgrywanie pojedynczych zdjęć i tam wszystko ładnie chodzi.


edit:
Jak zwykle głupi błąd zrobiłem ... sciana.gif

  1. move_uploaded_file($plik_tmp[$i], "../galeria/album-$album/".$plik_nazwa[$i]."");


Nie dodałem na końcu folderu nazwy pliku smile.gif

Dzięki za pomoc
Pozdrawiam
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.