Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> mkdir() nie dziala jak nalezy, funcja nie zawsze tworzy katalogi
boocheck
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 15.12.2005

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


mam nastepujacy problem, mam konto ftp, na nim robie stronke i m.in.
dzial 'download'. w skrypcie mam kod tworzacy sobie folder a w nim
jeszcze jeden. jasnym jest ze zeby skrypt mogl stworzyc folder musi miec
uprawnienia 'write', wiec tworze folder download z chmodem 0777 za pomoca
clienta ftp [total commander]. w nim zamieszczam skrypt tej postaci

  1. <?
  2. mkdir("./pierwszyfolder" , 0777);
  3. mkdir("./pierwszyfolder/drugifolder" , 0777);
  4.  
  5. /*tutaj jest przetestowany fragment skryptu upload'ujacego pliki na serw, 
  6. ktory w normalnych warunkach dziala oraz inne mniej wazne komendy, ktore 
  7. nie ogrywaja roli*/
  8. ?>


jest to fragment panelu administracyjnego. rezultatem odpalenia skryptu
jest utworzenie folderu 'pierwszyfolder' w katalogu 'download' i ... nic
wiecej. wbrew moim oczekiwaniom nie powstaje w 'pierwszymfolderze' nowy
katalog 'drugifolder' mimo, ze gdy sprawdzam przez klienta ftp
wlasciwosci katalogu 'pierwszyfolder' to widze uprawnienia 0777. pomijam
kwestie bezpieczenstwa - zdaje sobie sprawe ze folder z takimi
uprawnieniami tworzy zagrozenie, strona jednak bedzie malutka stronka,
ktora nie powinna stawac sie celem atakow.
w skrocie moje pytanie brzmi: co trzeba zrobic aby skrypt mogl stworzyc
folder, a w nim kolejny, jakie musza byc uprawnienia i jak je nadac
skryptowi

jesli taki temat mial juz miejsce na forum to prosze o linka - ja nie znalazlem

pozdrawiam i licze na wasza pomoc

Ten post edytował boocheck 29.12.2005, 20:08:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




  1. <?php
  2.  
  3. mkDirPlus( $sDir ) {
  4.  do {
  5. $dir = $working_directory;
  6.  
  7. while (!@mkdir($dir,0777)) {
  8. $dir = dirname($dir); 
  9.  
  10. if ($dir == '/' || is_dir($dir))
  11. break;
  12. }
  13.  } while ($dir != $working_directory);
  14. }
  15.  
  16. mkDirPlus( '/path/to/my/work' );
  17.  
  18. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 03:57