Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Błąd zapisu pliku
NickOver
post
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

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


Cześć!
Mam problem z funkcją move_uploaded_file. Mianowicie mam metodę:
  1. private function saveFile(){
  2. try {
  3. move_uploaded_file($this->file['name'], Config::uploadFolder);
  4. } catch (Exception $exception) {
  5. var_dump($exception);
  6. }
  7. }

Niestety nie zapisuje mi to pliku. Spróbowałem z try catch, niestety nie wywala żadnych błędów. Błędy mam włączone.
zawartość zmiennych:
  1. $this->file['name'] zrwry5lqnAJmRYhXnI6rKLKxlAmsYuV.jpg
  2. Config::uploadFolder uploads/


Wiecie może o co chodzi?
Go to the top of the page
+Quote Post
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Najpierw przeczytaj jakie parametry przyjmuje funkcja move_uploaded_file - nie jest to nazwa pliku i nazwa katalogu. Ponadto przekazuj ścieżki absolutne, a nie relatywne.
Go to the top of the page
+Quote Post
NickOver
post
Post #3





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

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



bool move_uploaded_file ( string $filename , string $destination )


Jeśli $filename nie jest nazwą pliku to czym?
I czemu mam je przekazywać absolutnie? Nie wiem na jakim serwerze będą pliki.
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




Cytat
Jeśli $filename nie jest nazwą pliku to czym?
PEŁNĄ sciezką do pliku a nie jego nazwą. Zasadnicza roznica. I funkcja ta nie rzuca wyjątkami....
Go to the top of the page
+Quote Post
NickOver
post
Post #5





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

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


Ok, zmieniłem na:
  1. private function saveFile(){
  2. if (!move_uploaded_file($this->file['tmp_name'], Config::uploadFolder."/".$this->file['name'])){
  3. die('ok');
  4. } else {
  5. die('NieOK');
  6. }
  7. }


Mimo tego nadal nie działa. Dodam że do $this->file przypisuję wartości z $_FILES.
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




wlacz wyswietlanie bledow to moze jakies zobaczysz.

ps: rozumiem, ze na ekranie dostajesz blad z die('NieOK'); ?

ps2: znaczy masz durny warunek, jak sie nie powiedzie to walisz OK, jak sie powiedzie to walisz NIEOK.... Napisz dokladnie co dostajesz i jakie masz bledy po ich wlaczeniu
Go to the top of the page
+Quote Post
NickOver
post
Post #7





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

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


No właśnie problem jest w tym że mam włączone błędy, lecz niczego nie dostaję. Po prostu się nie udaje.
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




Pytam sie grzecznie jeszcze raz: co DOKLADNIE dostajesz na ekranie. Wyswietla sie ktorys z twoich DIE?
Go to the top of the page
+Quote Post
NickOver
post
Post #9





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

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


Tak. Ale problem po części jest rozwiązany. Funkcja ta zwraca ciągla FALSE przez co ciągle dostaję info że się nie udało. Wiecie może czemu?

Ten post edytował NickOver 19.03.2015, 09:30:20
Go to the top of the page
+Quote Post
Pyton_000
post
Post #10





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


I wynik
  1. echo '<pre>'; var_dump($this->file['tmp_name'], Config::uploadFolder."/".$this->file['name']); echo'</pre>';die(__FILE__ . ': '.__LINE__);

wstawionego PRZED move_upload_...
Go to the top of the page
+Quote Post
nospor
post
Post #11





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




Cytat
Funkcja ta nie zwraca żadnych wartości logicznych więc automatycznie nie wchodzi do warunku, przez to cały czas pokazuje się nieOK.
Co ty gadasz za glupoty....
Juz ci pisalem, ze jak sie powiedzie, to wywala ci NIEOK bo tak dales warunek w IF....
Go to the top of the page
+Quote Post
Pyton_000
post
Post #12





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


z Manuala...
Cytat
Returns TRUE on success.

If filename is not a valid upload file, then no action will occur, and move_uploaded_file() will return FALSE.

If filename is a valid upload file, but cannot be moved for some reason, no action will occur, and move_uploaded_file() will return FALSE. Additionally, a warning will be issued.
Go to the top of the page
+Quote Post
Nattfarinn
post
Post #13





Grupa: Zarejestrowani
Postów: 136
Pomógł: 22
Dołączył: 19.09.2007
Skąd: Sosnowiec

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


Cytat(NickOver @ 19.03.2015, 09:27:52 ) *
Tak. Ale problem po części jest rozwiązany. Funkcja ta zwraca ciągla FALSE przez co ciągle dostaję info że się nie udało. Wiecie może czemu?

Może dlatego, że się udało. Masz negację warunku na samym początku, dlatego dostajesz odwrotny od zamierzonego komunikat...
Go to the top of the page
+Quote Post
nospor
post
Post #14





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




@Nattfarinn pisałem mu o tym już dwukrotnie ale dwukrotnie to olał. Ciekawe czy Twoj post oleje....

ps: przenosze
Go to the top of the page
+Quote Post

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: 24.08.2025 - 10:48