![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%) ![]() ![]() |
Witam wszystkich serdecznie.
Jestem w trakcie pisania dosyć prostego skryptu na stronę. Jednym z jego elementów, a raczej funkcji, jest mozliwosć zmiany nazwy folderu. Niby wszystko wygląda ok, ale cały czas wyrzuca mi jakiś głupi błąd. Kod tego fragmentu jest następujący:
Niezależnie, czy folder istniej czy też nie wyrzuca mi błąd: Warning: mkdir() [function.mkdir]: File exists in /virtual/pl/serwer/MovCat.class.php on line 286 Nie wiem za bardzo o co już tutaj chodzi. Linia 286 to linia -> mkdir($cat_new, 0777); Ma ktoś może pomysł co jest nie tak? Wszystkie foldery mają chmod 777. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 314 Pomógł: 44 Dołączył: 12.11.2010 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Kod Warning: mkdir() [function.mkdir]: File exists in /virtual/pl/serwer/MovCat.class.php on line 286 Mi to wygląda że plik / folder który chcesz utworzyć istnieje. Tutaj ktoś miał taki sam problem http://www.daniweb.com/web-development/php/threads/227553 A tak na boku... nie zgadniesz skąd mam ten link ... wpisałem w google "mkdir() [function.mkdir]: File exists" i jest ! Dziwne nie? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%) ![]() ![]() |
No ok, ale ja już dałem u siebie if(is_dir), czy to nie sprowadza się do tego samego co file_exists w tym wypadku?
Bo przecież zadaje pytanie - czy $cat jest katalogiem? Jeśli tak zmień nazwę, jeśli nie utwórz taki katalog. Tak więc nie sądzę, że o to chodzi. Zresztą jak się wpisze ta funkcje to i tak jest cały czas ten sam błąd. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 30 Dołączył: 9.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%) ![]() ![]() |
matino twoja uwaga tylko trochę pomogła, teraz nie mam błędu php, tylko własny błąd. Skrypt aktualnie wygląda tak:
Tyle tylko, że teraz cały czas wyrzuca mi albo jeden, albo dwa komunikaty error. Jeden jest zawsze, a dwa jeśli już taki folder istnieje. Nie wiem zupełnie, czemu to się duplikuje. W innych miejscach kodu nie ma return error tak więc nie jest on z jakiejś innej funkcji. Może mi ktoś coś poradzić? Bo nie mam pomysłu, gdzie jest błąd. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Jak rozumiem błąd wyrzuca Ci w warunku: if(!is_dir($cat_new))
Robisz coś takiego: Kod jeżeli ($cat jest katalogiem i jednocześnie $cat_new nie jest katalogiem) { // zmień nazwę $cat na $cat_new } w innym przypadku { jeżeli ($cat_new nie jest katalogiem) { //działaj z umask } else { // error } } Zatem jeżeli nie spełniasz warunku pierwszego to albo $cat nie jest katalogiem, albo $cat_new jest katalogiem (albo oba jednocześnie). Kolejny warunek to jeżeli $cat_new nie jest katalogiem... a jak wiemy jest szansa że jest nim, bo nie przeszedł wyższego warunku. Stąd error, o ile się nie mylę - ale kawy jeszcze nie piłam dzisiaj ![]()
Powód edycji: [Daiquiri]:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 09:29 |