Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]mkdir() i błąd "no such file od direcotry"
Forum PHP.pl > Forum > Przedszkole
siutek
Witam,
utowrzyłem sobie skrypt, który po rejestracji użytkownika tworzy na serwerze, w katalogu usersFiles (ktory znajduje się na najwyzszym poziomie struktury), 3 katalogi:
- glowny o nazwie takiej jak login usera
- wewnatrz niego katalog files
- oraz na tym samym poziomie katalog thumbnails


na localhoscie dziala wszystko jak nalezy.
niestety po przeniesieniu na wlasciwy serwer otrzymuję komunikat Warning, z info No such file or directory.

kod który za to odpowiada:
  1. $today = date("d-m-Y");
  2.  
  3. if(!file_exists("/usersFiles/".$_SESSION["usrLogin"]."/".$today)) {
  4. mkdir("./usersFiles/".$_SESSION["usrLogin"]."/".$today);
  5. mkdir("./usersFiles/".$_SESSION["usrLogin"]."/".$today."/files");
  6. mkdir("./usersFiles/".$_SESSION["usrLogin"]."/".$today."/thumbnails");
  7. }


znajduje się on wewnatrz pliku main.php, ktory jest umieszczony dosc gleboko w strukturze katalogow, ale jest on includowany do pliku index.php ktory umieszczony jest w glownym katalogu serwera.

serwer nie stoi na windowsie, wiec manualowe instrukcje odnosnie backslashy na nic się nie przydają.
Damonsson
Wielkość znaków się zgadza? Linux rozróżnia duże i małe litery.
StrefaPi
kropka przed "/" chyba niepotrzebna (4, 5 i 6 linia)...
siutek
wielkosc znakow sie zgadza,
probowałem wersje z kropkami, bez, z ukosnikami na poczatku, bez, itp itd.
viking
/usersFiles oznacza c:\usersFiles (chyba tak na windows) i zapewne nie masz uprawnień.
./usersFiles oznacza aktualny katalog skryptu.

Posprawdzaj to. I spróbuj jeszcze DIRECTORY_SEPARATOR
droslaw
Pierwsze co przychodzi do głowy to to, że "./usersFiles/".$_SESSION["usrLogin"] nie jest jeszcze utworzony.
Inna możliwość jest taka, że usersFiles nie istnieje w bierzącym katalogu. Sprawdź co zwróci realpath('.'), wynikiem powienien być katalog zawierający usersFiles.
uwaga:
"/usersFiles/" i "./usersFiles/" to prawie na pewno różne katalogi, trzeba to poprawić, to jest jeszcze inny błąd nie dotyczący tego warninga.
siutek
orzesz w morde!! droslaw, faktycznie, masz racje... nie zauważyłem tak prostej rzeczy!!!! katalog użytkownika poprostu nie istnieje, stąd te problemy...
już poprawiłem to w skrypcie i wszystko śmiga jak należy...

dzięki ogromne!!! jak mogłem tego nie zauważyćquestionmark.gif :/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.