Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Problem z uploadem pliku na serwer
maxx304
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 15.09.2010

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


Witam. Dostałem do obsługi program, który uploaduje plik do bazy danych. W skrócie działanie wygląda tak, że mam listę miast, a w miastach userów (wszystko w bazie danych), która jest wyświetlana na stronie. Jako administrator mogę dodawać odpowiednie logo obok każdego usera z wybranego miasta. I wszystko byłoby dobrze, gdyby nie to, że od wczoraj upload danego loga dla wybranego użytkownika nie działa. Na górze strony wyskakuje mi taki błąd:
  1. Warning: move_uploaded_file(/public_html/images_logo/864.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /public_html/admin/viewmiasto.php on line 75
  2. Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpKNHNLH' to '/public_html/images_logo/864.jpg' in /public_html/admin/viewmiasto.php on line 75
  3. Problem: Plik nie może być skopiowany do katalogu.


"No such file or directory" wg mnie oznacza, że tego pliku tam nie ma... I tutaj moje pytanie: w którym momencie występuje problem? Czy jest to problem tego, że plik nie został przegrany na serwer, a funkcja próbuje go przenieść, czy też chodzi o to, że plik jest na serwerze, ale nie da się go przenieść?
Myślałem, że może błędnie zdefiniowano folder do uploadu... ale zmienna
  1. $uploaddir
wygląda tak:

  1. $uploaddir = '/public_html/images_logo/';

A więc chyba poprawnie...

Dodam że ja nic nie zmieniałem w skrypcie. A może problem leży w samej bazie danych? Pomóżcie proszę, bo ja nie mam pomysłu.
Go to the top of the page
+Quote Post
fander
post
Post #2





Grupa: Zarejestrowani
Postów: 231
Pomógł: 22
Dołączył: 6.10.2008

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


/public_html/images_logo/ <= tego katalogu tam nie ma

/ <= takie coś oznacza ze odwołujesz się do katalogu głównego serwera twoja ścieżka powinna wyglądać następująco

/www/htdocs/[domena]/public_html/images_logo/ <= bezwzględna ścieżka katalogu w którym trzymasz obrazki (może być inna na twoim serwerze ale na pewno nie wygląda jak twoja aktualna)

Go to the top of the page
+Quote Post
maxx304
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 15.09.2010

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


Cytat(fander @ 8.10.2010, 09:54:05 ) *
/public_html/images_logo/ <= tego katalogu tam nie ma

/ <= takie coś oznacza ze odwołujesz się do katalogu głównego serwera twoja ścieżka powinna wyglądać następująco

/www/htdocs/[domena]/public_html/images_logo/ <= bezwzględna ścieżka katalogu w którym trzymasz obrazki (może być inna na twoim serwerze ale na pewno nie wygląda jak twoja aktualna)


u mnie na serwerze, po zalogowaniu się, jest tylko folder public_html, po wejściu do niego jest kilka innych folderów, m.in. images_logo. Wydaje mi się więc, że ścieżka jest prawidłowa, tym bardziej że wcześniej wszystko działało.
Go to the top of the page
+Quote Post
fander
post
Post #4





Grupa: Zarejestrowani
Postów: 231
Pomógł: 22
Dołączył: 6.10.2008

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


Po zalogowaniu się ? masz na myśli FTP ? Żaden serwis hostingowy nie umieści katalogu głównego dla stron w jakimś dziwnym miejscu typu /public_html/

Jeśli nie masz dedyka i sam sobie nie instalowałeś apache to jest niemożliwe abyś miał taką ścieżkę. Zauważ że na serwerze gdzie masz stronę może być wiele domen czyli wielu klientów, i jak by to wyglądało jakbyś logował się do /public_html/ a tam strony twojej konkurencji. Myślenie nie boli.

Aby sprawdzić jaka jest bezwzględna ścieżka na serwerze do pliku który aktualnie przetwarzasz wykonujesz kod:

Kod
echo $_SERVER['DOCUMENT_ROOT'];


Założę się o skrzynkę czystej że nie wyświetli się /public_html/
Go to the top of the page
+Quote Post
sniver
post
Post #5





Grupa: Zarejestrowani
Postów: 159
Pomógł: 5
Dołączył: 31.08.2007

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


Poszukaj w google co to zarezerwowana zmienna $_FILES i wykorzystywana funkcja move_uploaded_file (a konkretnie jej parametry) - masz link: http://tinyurl.com/3xadueb


--------------------
Go to the top of the page
+Quote Post
maxx304
post
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 15.09.2010

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


Cytat(fander @ 8.10.2010, 10:36:29 ) *
Po zalogowaniu się ? masz na myśli FTP ? Żaden serwis hostingowy nie umieści katalogu głównego dla stron w jakimś dziwnym miejscu typu /public_html/

Jeśli nie masz dedyka i sam sobie nie instalowałeś apache to jest niemożliwe abyś miał taką ścieżkę. Zauważ że na serwerze gdzie masz stronę może być wiele domen czyli wielu klientów, i jak by to wyglądało jakbyś logował się do /public_html/ a tam strony twojej konkurencji. Myślenie nie boli.

Aby sprawdzić jaka jest bezwzględna ścieżka na serwerze do pliku który aktualnie przetwarzasz wykonujesz kod:

Kod
echo $_SERVER['DOCUMENT_ROOT'];


Założę się o skrzynkę czystej że nie wyświetli się /public_html/



OK, sorry, mój błąd. Masz rację, z rozpędu napisałem byle co. Sprawdzę zaraz jak ta ścieżka wygląda. Poczytam również o samej zmiennej $_FILES, tak jak mi poradził kolega pod Tobą. Tylko zastanawia mnie, czy jest to faktycznie wina ścieżki, skoro 2 dni temu śmigało, a dziś już nie chce?

Tak czy owak, dziękuję bardzo za odpowiedzi.

Witam, sprawa już rozwiązana, okazało się, że problemem było przekierowanie na inną naszą witrynę z poziomu panelu administracyjnego firmy hostingowej. Adres wskazywał nieodpowiednie miejsce na serwerze. Po usunięciu przekierowania wszystko działa poprawnie.

Ten post edytował maxx304 8.10.2010, 10:11:10
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 - 08:51