Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z tworzeniem katalogów
Forum PHP.pl > Forum > PHP
Gibcio
Mam taki skrypt:


  1. <body vlink=\"#0000FF\" alink=\"#0000FF\">
  2. <?php
  3. if ($path == null)
  4. $path=&#092;".\";
  5.  
  6. if ($file == &#092;"undefined\")
  7. $file = null;
  8.  
  9. $path = urldecode($path);
  10. $file = urldecode($file);
  11.  
  12.  
  13. ?>
  14. <html>
  15. <head>
  16. <META HTTP-EQUIV=\"Expires\" CONTENT=\"-1\">
  17. <title>Edytor HTML i php</title>
  18. </head>
  19.  
  20. <?php
  21. echo'<font size=\"4\" face=\"Verdana\">';
  22. echo'Edytor HTML i php';
  23. echo'</font>';
  24. echo'<font size=\"2\" face=\"Verdana\">';
  25. function displaydir()
  26. {
  27. global $path, $pw;
  28.  
  29. $dir = opendir ($path);
  30. while ($file = readdir($dir)):
  31. if (is_dir($file)):
  32. if ($file == &#092;".\"):
  33. echo ('<b><A HREF=\"javascript:go(''. urlencode($path) .'');\" style=\"text-decoration:none\">'.$file.'/</a></b><br>');
  34. elseif ($file == &#092;"..\"):
  35. echo ('<b><A HREF=\"javascript:go('' . urlencode(dirname($path)) .'');\" style=\"text-decoration:none\">'.$file.'/</a></b><br>');
  36. else:
  37. echo ('<b><A HREF=\"javascript:go('' . urlencode($path . '/'. $file) .'');\" style=\"text-decoration:none\">'.$file.'/</a></b><br>');
  38. endif;
  39. else:
  40. echo ('<A HREF=\"javascript:go('' . urlencode($path) . '',''. urlencode($path . '/'. $file) .'');\" style=\"text-decoration:none\">'.$file.'</a><br>');
  41. endif;
  42. endwhile;
  43. closedir($dir);
  44. echo'<hr color=\"black\" align=\"left\" width=\"30%\">';
  45. echo ('<input type=\"radio\" name=\"action\" value=\"Podglad\">Podglad<br><input type=\"radio\" name=\"action\" value=\"Edytuj\">Edytuj<br><input type=\"radio\" name=\"action\" value=\"Usun\">Usun<br><input type=\"radio\" name=\"action\" value=\"Zmien nazwe\">Zmien nazwe<br><input type=\"radio\" name=\"action\" value=\"Kopiuj\">Kopiuj<br><br>');
  46. echo ('<input type=\"text\" name=\"text1\" size=\"20\"><br>
  47. <input type=\"submit\" name=\"new\" value=\"Nowy plik\" style=\"border: 2px solid #0000FF; background-color: #FFFFFF\"><input type=\"submit\" name=\"new\" value=\"Nowy folder\" style=\"border: 2px solid #0000FF; background-color: #FFFFFF\"><br>');
  48. echo'<hr color=\"black\" align=\"left\" width=\"30%\">';
  49. echo ('Wyslij plik:<br>');
  50. echo ('<input type=\"file\" name=\"userfile\" size=\"20\" style=\"border: 2px solid #0000FF; background-color: #FFFFFF\"><br>');
  51. echo ('<input type=\"submit\" name=\"action\" value=\"Wyslij\" style=\"border: 2px solid #0000FF; background-color: #FFFFFF\">');
  52. echo'<br><br>';
  53. echo'<a href=\"javascript:window.close()\">Zamknij edytor</a>';
  54. }
  55.  
  56. function displayfile()
  57. {
  58. global $file, $action, $area, $path,$pw;
  59.  
  60. echo ('<b><A HREF=\"javascript:go(''. urlencode($path) .'');\" style=\"text-decoration:none\">'.$path.'</a></b><br>');
  61.  
  62. if ($action != &#092;"Podglad\")
  63. {
  64. echo ('<textarea cols=80 rows=25 name=\"area\" wrap=off>'.htmlentities(join( '', file( $file))) .'</textarea>');
  65. echo'<br>';
  66. echo ('<input type=\"submit\" value=\"Zapisz\" name=\"action\" style=\"border: 2px solid #0000FF; background-color: #FFFFFF\">');
  67. }
  68. else
  69. {
  70. echo ('<pre>');
  71. $fcontents = file( $file );
  72. while ( list( $line_num, $line ) = each( $fcontents ) ) {
  73. echo &#092;"<b>$line_num</b>t\" . htmlspecialchars( $line );
  74. }
  75. echo ('</pre>');
  76. echo ('<input type=\"submit\" value=\"Edytuj\" name=\"action\" style=\"border: 2px solid #0000FF; background-color: #FFFFFF\">');
  77. }
  78.  
  79.  
  80. }
  81. echo ('<script language=\"javascript\">function go(p,f){ document.forms[0].path.value=p; document.forms[0].file.value=f;document.f
    orms[0].submit();}</script>'
    );
  82. echo ('<form ENCTYPE=\"multipart/form-data\" action=\"'.getenv(&#092;"SCRIPT_URL\").'\" method=\"POST\">');
  83. echo ('<input type=\"hidden\" name=\"file\" value=\"'.$file.'\">');
  84. echo ('<input type=\"hidden\" name=\"path\" value=\"'.$path.'\">');
  85. echo ('<input type=\"hidden\" name=\"pw\" value=\"'.$pw.'\">');
  86.  
  87. if ($action == &#092;"Wyslij\")
  88. {
  89. if ($userfile != null)
  90. copy($userfile, $path.'/'.basename(str_replace('','/',stripslashes($userfile_name))));
  91. }
  92. else
  93. if ($new == &#092;"Nowy plik\")
  94. {
  95. if(!fopen($path . '/'. $text1, &#092;"w\")) echo (\"Couldn't create $text1<br>\");
  96. }
  97. else if ($new == &#092;"Nowy folder\")
  98. {
  99. if(!mkdir($path . '/' .$text1, 0777)) echo (&#092;"Couldn't create $text1<br>\");
  100. }
  101. else
  102. if ($action == &#092;"Zapisz\")
  103. {
  104. $f = fopen($file, &#092;"w\");
  105. fputs($f, stripslashes($area));
  106. fclose($f);
  107. }
  108.  
  109. if ($action == &#092;"Usun\")
  110. {
  111. if ($file != null)
  112. {
  113. if(!unlink($file)) echo &#092;"Could not delete $file<br>\";
  114. }
  115. else
  116. {
  117. if(!rmdir($path)) echo &#092;"Could not delete $path<br>\";
  118. $path = dirname($path);
  119. }
  120. }
  121. else
  122. if ($action == &#092;"Kopiuj\")
  123. {
  124. if ($file != null)
  125. {
  126. if(!copy($file, $path .'/'.$text1)) echo(&#092;"Could not copy $file to $text1<br>\");
  127. }
  128. else
  129. {
  130. if (!copy($path, $path .'/'.$text1)) echo(&#092;"Could not copy $path to $text1<br>\");
  131. }
  132. }
  133. else
  134. if ($action == &#092;"Zmien nazwe\")
  135. {
  136. if ($file != null)
  137. {
  138. if(!rename($file, $path .'/'.$text1)) echo(&#092;"Could not rename $file to $text1<br>\");
  139. }
  140. else
  141. {
  142. if(!rename($path, $path .'/'.$text1)) echo(&#092;"Could not rename $path to $text1<br>\");
  143. }
  144. }
  145.  
  146. if ($file != null && ($action ==&#092;"Podglad\" || $action == \"Edytuj\" || $action == \"Zapisz\"))
  147. {
  148. displayfile();
  149. }
  150. else
  151. displaydir();
  152. echo'</font>';
  153. ?>
  154. </form>
  155. </body>
  156. </html>
  157.  
  158.  
  159.  
  160. </body>
  161. </html>


problem polega na tym iż gdy przy tworzeniu katalogu nadają mu sie prawa 755 a nie 777 tak jak jest w skrypcie jak to zmienić? Tworzenie katalogu jest w linijce 122.
SongoQ
No to zmien prawa dostepu
chmod('plik', 777);
Leezard
utworz katalog, a potem potraktuj go chmod'em z prawami 777, powinno pomoc
Gibcio
zmiana z 0777 na 777 dała to że prawa są teraz 411
Leezard
oto fragment manuala:

chmod("/somedir/somefile", 755); // dziesiętnie; prawdopodobnie nieprawidłowo
chmod("/somedir/somefile", "u+rwx,go+rx"); // łańcuch; nieprawidłowo
chmod("/somedir/somefile", 0755); // ósemkowo; poprawna wartość dla praw


daj 0777, a napisalem 777 bo tak sie oznacza normalnie prawa unix'owe
Fipaj
OT: masz błąd w 113 linijce...
Gibcio
Kurde to nie możliwe mogą być wszystkie prawa z wyjątkiem 777 a jeśli chodzi o ten błąd to co ona ma wspólnego z prawem dostępu?
Pigula
wiesz co nie wiem czy to mam znaczenie ale jak piszesz Couldn't to pisz przez dwa apostrofy albo wogole zastap Could not. moze to jest problem? dokladnie chodzi mi o fragment gdzie masz Couldn't create $text1 linijka 113 i 117 abo cos kolo tego smile.gif

---------------------
a moze jeszcze sprobuj najpierw tylko stworzyc katalog a potem zmienic prawa na 777

---------------------
sorry zbliza mi sie sesja i od nauki troche swiadomosc mnie zawodzi tongue.gif oczywiscie nie dwa apostrofy (tak jest w Pascalu) tylko \' smile.gif jeszcze raz przepraszam
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.