Problem beim Kopieren
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
base
beitrag
checken
droge
exit
fehler
fehlermeldung
folgende error
inhalt
momentaner skript
not
ordner
script
skript
spa
unsichtbare steuerzeichen
variable
versuch
within
wurzel
-
Ich bekomme beim kopieren von Files per Skript immer folgende Error:
Warning: copy(): open_basedir restriction in effect. File(/drogen.txt) is not within the allowed path(s): (./..:/home/webpages/tmp) in /home/webpages/lima-city/kai008/html/reg.php on line 18
Warning: copy(/drogen.txt): failed to open stream: Operation not permitted in /home/webpages/lima-city/kai008/html/reg.php on line 18
Mein Momentaner Skript lautet so:
<form action="reg.php" method="post">
<input type="text" name="dir"> <br>
<input type="submit" value="Verzeichnis erstellen">
</form>
<?php
$createdir=$_POST['dir'];
$oldfold="drogen";
if($createdir)
{
if(mkdir($createdir,0777))
{
$openfold = opendir($oldfold);
while($file = readdir($openfold))
{
if($file != "." && $file != "..")
{
copy ($oldfold."/".$file,$newfold."/".$file);
}
}
}
else
{
echo "n00b";
}
}
?>
Ziel des Skriptes sollte es sein, einen Ordner zu erstellen, und dann den inhalt eines Vorlageordners reinzukopieren
Kann mir wer den Skript funktionell umschreiben? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
dann arbeeite doch mti dem absoluten path:
/home/webpages/lima-city/kai008/html/
ich glaub, dass ist der fehler -
dann arbeeite doch mti dem absoluten path:
/home/webpages/lima-city/kai008/html/
ich glaub, dass ist der fehler
Ich habe die Variable $oldfold jetzt mit /home/webpages/lima-city/kai008/html/Drogen und http://kai008.milten.lima-city.de/Drogen ver?ndert, aber es gibt immer noch den selben Fehler aus
Trotzdem THX -
es k?nnte dran liegen, dass $newfold gernicht gesetzt ist (sondern $createdir)
versuchs mal mit den richtigen variablen -
es k?nnte dran liegen, dass $newfold gernicht gesetzt ist (sondern $createdir)
versuchs mal mit den richtigen variablen
THX, hat aber leider auch nicht geholfen -
Bist du sicher, dass die Fehlermeldung noch genau die gleiche ist? Oder hat sich der bem?ngelte Pfad ge?ndert?
Ansonsten lass dir doch von deinem Script einfach mal die Variablen mit echo() oder print() ausgeben. Ich mach das immer so:
printf("oldfold: ((%s))<br />", $oldfold);
// usw. fuer alle Pfad-Variablen
Dann siehst du schneller, wo der Wurzel-Pfad fehlt. -
hatte ?hnliche probleme mit den dateipfaden f?r ne gallery auf lima....
lass dir einfach mal mit getcwd(); den aktuellen pfad ausgeben und h?ng dahinter dann den ganzen andern spass an... check mal ob das funzt.... -
php scripts darf man nich kopieren habe ich mal geh?rt. du musst das selber schreiben.
Zitat:"Das liegt daran, dass ihr nicht nur den Programmcode kopiert, sondern auch unsichtbare Steuerzeichen, die beim Kopieren dann PHP nicht verarbeiten kann."
-
php scripts darf man nich kopieren habe ich mal geh?rt. du musst das selber schreiben.
Zitat:"Das liegt daran, dass ihr nicht nur den Programmcode kopiert, sondern auch unsichtbare Steuerzeichen, die beim Kopieren dann PHP nicht verarbeiten kann."
Ich habe ihm eh selbergeschrieben. -
$self = $_SERVER['PHP_SELF']; $base = dirname(__FILE__).'/'; $old = $base.'drogen'; echo <<<HTML <h1>Create an Copy</h1> <form action="$self" method="post"> <input type="text" name="dir"> <br> <input type="submit" value="Verzeichnis erstellen"> </form> <hr /> HTML; if(isset($_POST['dir'])) { $dir = trim($_POST['dir']); if(empty($dir)) exit; if(mkdir($base.$dir, 0777)) { $fh = opendir($old); while($file = readdir($fh)) { if($file != '.' && $file !='..') { copy($old.'/'.$file, $base.$dir.'/'.$file); } } } }
getestet und geht.
das alte wie auch das neue verzeihniss muss im selben oderer liegen wie das script selbst.
Beitrag ge?ndert am 4.11.2005 18:16 von kirschbluete -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage