Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Ścieżka dostępu
Generic
post 25.04.2014, 16:02:57
Post #1





Grupa: Zarejestrowani
Postów: 224
Pomógł: 0
Dołączył: 31.10.2012

Ostrzeżenie: (10%)
X----


Witam. Mam podany poniżej skrypt, który przesyła pliki do folderu. Skrypt działa i pliki ładnie uploadują się natomiast po przesłaniu nie wiadomo gdzie zostały zapisane ponieważ nie można ich znaleźć ani w public_html ani w picture_temporary. Co może być przyczyną tego problemu?

Zdjęcie pokazujące układ folderów:



  1.  
  2. // Katalog w którym będą zapisywane pliki.
  3.  
  4. if (file_exists("public_html/picture_temporary".$_FILES["file"]["name"]))
  5. {
  6. echo "<div class='error'>"."(".$_FILES["file"]["name"].")"." already exists. "."</div>";
  7. }
  8. else
  9. {
  10. move_uploaded_file($_FILES["file"]["tmp_name"],
  11. "public_html/picture_temporary");
  12. echo "<div class='sucess'>"."Stored in: " .
  13. "public_html/picture_temporary" . $_FILES["file"]["name"]."</div>";
  14. }
  15. }
  16. }
  17. else
  18. {
  19. echo "<div class='error'>Invalid file</div>";
  20. }
Go to the top of the page
+Quote Post
nospor
post 25.04.2014, 16:05:34
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Po czym wnioskujesz ze skrypt dziala i ze sie pliku uploadują? W zaden sposob tego w skrypcie nie sprawdzasz tylko radosnie przyjales ze sie przenoszą....
move_uploaded_file() zwraca true albo false i to na tej podstawie masz sprawdzac czy sie skopiowalo czy nie a nie ze sobie zalozyles ze sie kopiuje...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Generic
post 25.04.2014, 16:08:30
Post #3





Grupa: Zarejestrowani
Postów: 224
Pomógł: 0
Dołączył: 31.10.2012

Ostrzeżenie: (10%)
X----


Gdy ustawię w ścieżce index.html to wtedy wszystko uploaduje się do folderu w którym znajduje się index.html czyli w public_html co znaczy że jednak działa.
Go to the top of the page
+Quote Post
engineS
post 25.04.2014, 16:17:21
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 23.04.2014

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


  1. move_uploaded_file($_FILES["file"]["tmp_name"], "public_html/picture_temporary/".$_FILES["file"]['name']);

Go to the top of the page
+Quote Post
Generic
post 25.04.2014, 16:39:03
Post #5





Grupa: Zarejestrowani
Postów: 224
Pomógł: 0
Dołączył: 31.10.2012

Ostrzeżenie: (10%)
X----


Niestety usunięcie kropki nie pomaga, próbowałem również w ten sposób zrobić, ale efekt jest ten sam.
Go to the top of the page
+Quote Post
Turson
post 25.04.2014, 16:51:35
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Rozłącz się z ftp i połacz jeszcze raz. Może teraz będą
Go to the top of the page
+Quote Post
Generic
post 25.04.2014, 16:58:52
Post #7





Grupa: Zarejestrowani
Postów: 224
Pomógł: 0
Dołączył: 31.10.2012

Ostrzeżenie: (10%)
X----


Nadal nic a w folderze w którym powinien znajdować się plik jest napisane Empty directory listing.
Go to the top of the page
+Quote Post
Crozin
post 25.04.2014, 18:24:32
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
Gdy ustawię w ścieżce index.html to wtedy wszystko uploaduje się do folderu w którym znajduje się index.html czyli w public_html co znaczy że jednak działa.
To znaczy, że działa dla danego folderu. Inny może mieć już zupełnie inne uprawnienia dostępu.

Nie sprawdzasz czy kolejne etapy wgrywania pliku kończą się pomyślnie, po czym błądzisz po omacku:
1. Sprawdź czy plik w ogóle wgrał się na serwer: http://www.php.net/manual/pl/features.file-upload.errors.php
2. Sprawdź czy wgrany plik udało się poprawnie przenieść: move_uploaded_file (patrz: zwracana wartość)
Go to the top of the page
+Quote Post
engineS
post 25.04.2014, 20:25:12
Post #9





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 23.04.2014

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


Strzelam że albo sciezka jest zła, albo chmod katalogu.
Dla testu:
  1. $dir = $_SERVER['DOCUMENT_ROOT'].'/picture_temporary/';
  2. if(!move_uploaded_file($_FILES["file"]["tmp_name"], $dir.$_FILES["file"]['name'])) {
  3. echo $dir.' - błąd upload do katalogu';
  4. } else {
  5. echo $dir.' - ok upload do katalogu';
  6. }
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 13:05