Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] move_uploaded_file?
azbestian
post 7.10.2008, 12:12:45
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 28.10.2005

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


Witam serdecznie,

Mam problem z funkcją move_uploaded_file, prawa do katalogu w którym upload-uje pliki ustawione są prawdłowo 0777, ścieżki w skrypcię są dobrze ustawione, funkcja is_uploaded_file zwraca true, natomiast funkcja move_uploaded_file daje false, czy może to być wina serwera?

  1. <?php
  2. $kat="okladki/";
  3.    if(is_uploaded_file($_FILES['recenzja']['tmp_name']))
  4.        {
  5.            if($this->isPictureFile($_FILES['recenzja']['type'],"mime"))
  6.            {
  7.                if (move_uploaded_file($_FILES['recenzja']['tmp_name'], $kat.$_FILES['recenzja']['name'])) {
  8.                    return true;    
  9.                } else {
  10.                    return false;    
  11.                }
  12.            }
  13.        }
  14. ?>


Ten post edytował azbestian 7.10.2008, 12:14:14
Go to the top of the page
+Quote Post
nospor
post 7.10.2008, 12:15:16
Post #2





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




wlacz sobie wyswietlanie wszystkich bledow a dowiesz sie jaki masz blad
http://nospor.pl/php-faq-n29.html#faq-2


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

"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
blooregard
post 7.10.2008, 12:57:35
Post #3


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Problem może tkwić w uprawnieniach katalogu 'tmp', pamiętam, że też kiedys z tym walczyłem smile.gif i to chyba było to. Sprawdzić nie zaszkodzi smile.gif.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
--Bart--
post 7.10.2008, 13:19:41
Post #4





Goście







Widze ze probujesz przeniesc ten plik pod oryginalna nazwe tego pliku - wiec moze tutaj jest problem - moze w nazwie wystepuja jakies niedozwolone znaki i serwer nie potrafi tego pliku zapisac pod ta nazwa.

Sprobuj z jakims innym plikiem.

Pozdrawiam
Go to the top of the page
+Quote Post
nevt
post 7.10.2008, 13:29:21
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


spróbuj:
  1. <?php
  2. // zamiast
  3. $kat='okladki/';
  4.  
  5. //dać ścieżkę wględną
  6. $kat='./okladki/';
  7.  
  8. //lub bezwzględną
  9. $kat='/okladki/';
  10. ?>

i jeszcze jedno, co to za metoda $this->isPictureFile($_FILES['recenzja']['type'],"mime") questionmark.gif
pokaż jej kod, może tam masz błąd i warunek się nie spełnia?


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

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
azbestian
post 7.10.2008, 18:11:57
Post #6





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 28.10.2005

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


Po włączeniu pełnego pokazywania błędów dostaję komunikat o braku dostępu:
  1. <?php
  2. Warning: move_uploaded_file(../okladki/p3.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/wydawnictwo/public_html/panel/class_pracownik.php on line 807
  3. ?>


Ściezki jak i prawa są ustawione prawidłowo na katalog okaldki, kombinowałem z wszystkimi rodzajami ścieżek.
metoda isPictureFile akurat nic tu nie ma do rzeczy, jeśli nie ma innych możliwości błędu to może faktycznie chodzi o prawa do katalogu temp tyle że nie jest to mój serwer i pewnie będzie trzeba przeprowadzić "batalię" z adminem, chyba że ma ktoś jeszcze jakieś inne koncepcje?

Ten post edytował azbestian 7.10.2008, 18:13:31
Go to the top of the page
+Quote Post
drPayton
post 7.10.2008, 20:00:33
Post #7





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Może to być również kwestia safe mode...
Go to the top of the page
+Quote Post
blooregard
post 7.10.2008, 20:12:36
Post #8


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Nie, to klasycznie przypomina mi to, co napisałem w pierwszej odpowiedzi, czyli problem z "tmp". Też się tak dziwnie ujawniał, wszystko wskazywało na katalog docelowy, a rozbiło się o tempa. No chyba, że u Ciebie akurat co innego jest problemem.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
nevt
post 7.10.2008, 21:26:18
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


tu nie chodzi o tmp. warning ewidentnie wskazuje na problem z utworzeniem pliku '../okladki/p3.jpg'

czy przypadkiem twój katalog 'okladki' nie jest podkatalogiem w stosunku do katalogu w którym wykonuje ci się ten skrypt? a ty wywołujesz z nazwą '../okladki/p3.jpg', czyli odwołujesz się do katalogu równoległego do tego ze skryptem. dlatego w moim przykładzie kilka postów wyżej jest ścieżka './okladki' - jedna kropka odwołuje się do bieżącego katalogu, a dwie kropki do nadrzędnego.

czyli jeżeli masz strukturę katalogów:

/okladki/
|_ p3.jpg
/katalog_skryptu/
|_ skrypt.php

to poprawna jest twoja wersja z '..' na początku ścieżki, ale jeżeli

/katalog_skryptu/
|_ okladki/
| |_p3.jpg
|_ skrypt.php

to poprawna jest wersja z '.' na początku ścieżki


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

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
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: 14.08.2025 - 06:27