Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Uploadowanie plików
seprob
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 9.07.2013

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


Witam! Mam mniej więcej taki kod:
  1. $image_filename = $_FILES['item_image']['name'];
  2. $location = '\\Katalog_aplikacji\\'.$image_filename;
  3.  
  4. if (!move_uploaded_file($_FILES['item_image']['tmp_name'], $location)) {
  5. echo "Problem: plik nie może być skopiowany do katalogu docelowego.";
  6.  
  7. }

Problem jest taki, że funkcja move_uploaded_file zwraca fałsz. Próbowałem już kombinować z backslashami, zmieniać katalog tymczasowy czy prawa do niego ale nic to nie dało.
Go to the top of the page
+Quote Post
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Bardziej chyba tak by to musiało być:

  1. $location = '/Katalog_aplikacji/'.$image_filename;
Go to the top of the page
+Quote Post
buliq
post
Post #3





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


Sprawdź co zwraca realpath dla tego katalogu


--------------------
KTOŚ TU PACZY???

Kompedium wiedzy
Go to the top of the page
+Quote Post
seprob
post
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 9.07.2013

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


Cytat(Damonsson @ 9.07.2013, 09:00:32 ) *
Bardziej chyba tak by to musiało być:

  1. $location = '/Katalog_aplikacji/'.$image_filename;

Ale to jest Windows.


Cytat(buliq @ 9.07.2013, 09:58:15 ) *
Sprawdź co zwraca realpath dla tego katalogu

Dodam, że w zmiennej "location" nie podaję katalogu root serwera.

Wywołanie "realpath($_FILES['item_image']['tmp_name'])" zwraca "C:\Temp\phpF948.tm" natomiast wywołanie "realpath($location)" nic nie zwraca.
Go to the top of the page
+Quote Post
buliq
post
Post #5





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


wywołaj realpath dla samego katalogu (bez nazwy pliku)
jak nic nie zwraca to znaczy że nie znalazł, to znaczy ze zła jest ścieżka $location. Nie musisz podawać katalogu root serwera, popełniłeś błąd gdzieś w ścieżce albo ona nie istnieje
wywołaj realpath('/');
sprawdź dirname(__FILE__);


--------------------
KTOŚ TU PACZY???

Kompedium wiedzy
Go to the top of the page
+Quote Post
seprob
post
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 9.07.2013

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


Cytat(buliq @ 9.07.2013, 13:54:56 ) *
wywołaj realpath dla samego katalogu (bez nazwy pliku)
jak nic nie zwraca to znaczy że nie znalazł, to znaczy ze zła jest ścieżka $location. Nie musisz podawać katalogu root serwera, popełniłeś błąd gdzieś w ścieżce albo ona nie istnieje
wywołaj realpath('/');
sprawdź dirname(__FILE__);

Funkcja realpath dla lokalizacji bez nazwy pliku nic nie zwraca. Wywołanie "realpath('/')" zwraca "C:\". Wywołanie "dirname(__FILE__)" zwraca katalog, w którym są pliki aplikacji. Ale udało się - w zmiennej "location" podałem na początku "dirname(__FILE__)" i działa. Dzięki.
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 Aktualny czas: 19.08.2025 - 23:17