Khor 0 Report post Posted November 9, 2003 das gehört wohl eher unter WebServer/PHP/MySQL aber da kann ich kein Topic öffnen daher: Zu Erklärung: Das Forum erstellt zu meinem Leidwesen eigene Dateien, die es zum Betrieb benötigt. Diese Dateien werden dem FTP-Besitzer WWW-DATA zugeordnet. (unter Linux wird ja jede Datei einem User zugeordnet). Wenn ich nun Modifikationen am Forum vornehmen möchte, treten Probleme auf, dass ich in Verzeichnissen, die das Forum angelegt hat, nicht schreiben kann; Dateien ich nicht verändern kann oder dass das Ändern der Zugriffsrechte, damit etwas geändert werden kann, nicht funktioniert. Dies erschwert mir die Arbeit erheblich und drückt die eigene Motivition etwas zu tun. Ich weis, dass der Support den Besitzer jeder Zeit ändern könnte. Allerdings ist es mir zu Umständlich immerwieder den Support anzufragen, der sicherlich besseres zu tun hat. Oder gibt es bereits Lösungen für mein Problem ? wie macht ihr das ? oder treten diese Probleme bei euch nicht auf ? mfG Khor Share this post Link to post
Stefan 0 Report post Posted November 9, 2003 TO_Webmaster hat mal ein kleines Tool dazu geschrieben und ich hoffe, das ist von seiner Seite okay, wenn ich das hier poste. <?php $dateiname = "chmod.php"; print "<b>Bitte beachten Sie: Der CHMOD des Ordners, in dem sich diese Datei befindet muss 777 sein. Bitte bei Bedarf/Fehlermeldung entsprechend anpassen.</b><br><br>"; print "Erstelle $dateiname.<br><br>"; $fp = fopen( $dateiname, "w" ) or die ("Fehler"); fwrite( $fp, "<html><head></head><body> <FORM ENCTYPE=\"multipart/form-data\" ACTION=\"<? phpself ?>\" METHOD=POST> Welcher Ordner (/ Welche Datei [Sitzt in Klammern, weil man normalerweise Dateien in Ordnern mit 777er rechten ohne Probleme löschen kann]) lässt sich nicht bearbeiten?<br><INPUT NAME=\"datei\" TYPE=\"text\"> <INPUT TYPE=\"submit\" VALUE=\"CHMOD 777 setzen.\"> </FORM> </body> </html> <?PHP if(\$datei != \"\"): clearstatcache(); \$chmod = decoct(fileperms(\$datei)); echo \"CHMOD vorher: \" . \$chmod; chmod (\$datei, 0777); clearstatcache(); echo \"<br>\"; \$chmod = decoct(fileperms(\$datei)); echo \"CHMOD nachher: \" . \$chmod; endif; print \"<br><br>Script by TO_Webmaster\"; ?>" ); fclose( $fp ); print "Sollte es keine Fehlermeldungen gegeben haben, können sie die <a href=\"$dateiname\">$dateiname hier direkt aufrufen</a>.<br><br>"; print "Script by TO_Webmaster<br><br>"; ?> Man lade die Datei in den Ordner, in den sich die zu löschenden Ordner befinden hoch und gebe jenem Ordner dich 777er Rechte. Man führe die Datei aus, sie erstellt nun (hoffentlich) eine chmod.php (Name lässt sich bei $dateiname = "chmod.php"; auch ändern). Man starte diese chmod.php und gebe den Namen des Ordners an, auf den man nicht vollen Zugriff hat. Das sollte das Problem lösen. Habe bis jetzt noch nichts negatives gehört, bei zwei Leuten hats geklappt, ob's weitere versucht haben, weiß ich nicht. P.S.: Funzt theoretisch auch mit Dateien, was jedoch nicht benötigt wird, da man in Ordnern mit 777er Rechten alle Dateien löschen können sollte. Share this post Link to post
Ratman 0 Report post Posted November 9, 2003 (edited) hab da auch n script einziger unterschied - das ding kann man mit pfad und datei oder ganzen dir füttern. als bspl. bringts den pfad, wos selber liegt. man mache aus dem "code" eine deleter.php datei, oder wie mans auch immer nennen will. aber vorsicht - wer das ding namentlich kennt, kann lustig löschen ... <?php if (isset($_POST['submit'])): $flag=false; function delete($dir){ if (file_exists($dir)) { chmod($dir,0777); if (is_dir($dir)){ $handle = opendir($dir); while($filename = readdir($handle)) { if ($filename != "." && $filename != "..") { delete($dir."/".$filename); } } closedir($handle); rmdir($dir); echo ("Verzeichnis ${_SERVER['DOCUMENT_ROOT']}/${dir} löschen!<br><br>"); }else{ unlink($dir); echo ("File ${_SERVER['DOCUMENT_ROOT']}/${dir} löschen!<br><br>"); } }else{ echo("File oder Verzeichnis existiert nicht!<br><a href='$_SERVER[PHP_SELF]'>ZURÜCK</a><br>"); $flag=true; } } echo("<html><head><title>Deleter v1.1</title></head><body>"); if ($_POST['name']){ delete($_POST['name']); }else{ echo("Sie haben keinen Pfad- oder File-Namen angegeben!<br><a href='$_SERVER[PHP_SELF]'>ZURÜCK</a><br>"); $flag=true; } if ($_POST['selfdestruct']){ unlink($_SERVER['SCRIPT_FILENAME']); echo("Dieses Script wurde zerstört. Kein weiteres Arbeiten möglich!<br><br>"); $flag=true; } if ($flag==false){ echo("<a href='$_SERVER[PHP_SELF]'>ZURÜCK, um ein weiters Verzeichnis/File zu löschen.</a>"); $flage=true; } echo("</body><html>"); ?> <html><body> <?php else: if (version_compare( phpversion(), "4.1.0") < 0){ echo ("Zu alte PHP-Version."); exit(); } ?> <form method=post action="<?=$_SERVER['PHP_SELF']?>"> <table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%"> <tr> <td> Voller Pfadname zu diesem Script: <?=$_SERVER['SCRIPT_FILENAME']?><br> <font size="-1">File oder Verzeichnis zum Löschen (Immer den vollen Pfad angeben): <input name="name" type=text maxlength=40 size=25> <input type=submit name="submit" value="Delete"><br><br> Dieses Script (<?=$_SERVER['SCRIPT_NAME']?>) zerstört sich selbst, wenn sie dieses Box anklicken : <input name="selfdestruct" type=checkbox value=no> </font></td> </tr> </table> </form> <?php endif; ?> </body></html> Edited November 9, 2003 by Ratman Share this post Link to post
Ratman 0 Report post Posted November 9, 2003 ups - da sollt eman doch gscheit lesen vorher du willst ja nur ändern - meines löscht ... Share this post Link to post
Khor 0 Report post Posted November 10, 2003 danke jungs ... ich werd das mal demnaechst ausprobieren ... as mit dem löschen ist ja auch weniger schlimm .. dann muss ich halt den scheiss runterladen .. loeschen .. wiederhochladen .. und fertig. mfG Khor Share this post Link to post