Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Opuźnione utworzenie katalogu
PiratNowegoPokol...
post 31.07.2007, 08:07:55
Post #1





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 12.10.2006

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


  1. <?php
  2. class FDirectory
  3. {
  4. protected $_sPath;
  5.  
  6. private $rHandle;
  7.  
  8. public static function create( $sPath )
  9. {
  10. if( is_dir( $sPath ) )
  11. throw new FException( "Direcotry {$sPath} just exist" );
  12.  
  13. mkdir( $sPath );
  14.  
  15. return new self( $sPath );
  16. }
  17.  
  18. public function __construct( $sPath )
  19. {
  20. $this->_sPath = realpath( $sPath );
  21.  
  22. if( !is_file( $this->_sPath ) )
  23. throw new FException( "Direcotry {$this->_sPath} does not exist" );
  24. }
  25. }
  26. ?>


Duży problem... przy wykonaniu create wywala mi exception `Direcotry ##### does not exist` a to dlatego że nie został jeszcze utworzony. Tworzy się trochę za późno blink.gif
Użycie sleep() chyba nie pomoże bo bóg wie ile ten katalog ma się zamiar tworzyć worriedsmiley.gif

Może ktoś coś poradzić ?

Ten post edytował PiratNowegoPokolenia 31.07.2007, 08:09:15
Go to the top of the page
+Quote Post
nospor
post 31.07.2007, 08:29:03
Post #2





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




Ale oczym ty mowisz? Przeciez ty najpierw sprawdzasz czy istnieje a dopiero potem go tworzysz. No to sie nie dziw ze przed sprawdzeniem ci go jeszcze nie utworzyl...

edit: choc moze sie myle, bo widze ze w create walisz konstruktor czyli najpierw tworzysz a potem sprawdzasz. Byc moze ci sie katalog nie utworzyl bo jakies bledy są. Sprawdź.
A byc moze jest tak jak mowi mike smile.gif


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

"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
mike
post 31.07.2007, 08:30:15
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


A pokaż jak to wykonujesz.
Bo na moje oko tworzysz obiekt (konstruktor wywala Ci komunikat) a dopiero potem wykonujesz create() na obiekcie.
Go to the top of the page
+Quote Post
wojski696969
post 31.07.2007, 20:08:45
Post #4





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

Ostrzeżenie: (10%)
X----


A ja polecam super ksiązkę która rozwiąże twój problem:

Słownik Ortograficzny

bo chyba opóźnione jest te twoje "opuźnienie" tongue.gif
Go to the top of the page
+Quote Post
PiratNowegoPokol...
post 1.08.2007, 07:36:50
Post #5





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 12.10.2006

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


Literówki się każdemu zdarzają... słownik tu nie pomoże

Bardziej okulary :/ Szczerze mówiąc to nie wiem jak to zrobiłem i do takich wniosków doszedłem ale to chyba chodziło o to : if( !is_file( $this->_sPath ) )

sorka za problem
PS: Pisałem że wykonuje najpierw create..
Go to the top of the page
+Quote Post
wojski696969
post 1.08.2007, 08:15:40
Post #6





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

Ostrzeżenie: (10%)
X----


No to po mojemu skrypt nie może iść dlaej zanim nie utworzy katalogu... Wtedy dopiero odpowiednia funkcja zwraca wartość czy operacja zakończyła się sukcesem i skrypt kontynuuje działanie...
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: 24.06.2025 - 22:16