php script im safe_mode
phillip
- php
Hallo!
ich hab ein problem .. also ich habe das folgende script geschrieben. Es soll ein verzeichniss rekursiv durchsuchen und alle gefunden *.jpgs in die datenbank speichern, falls dies noch nich geschehen ist. soweit so gut...das funktioniert auf meinem lokalen server auch wunderbar. nur auf meinem online server (evanzo paket s) läuft das ganze aufgrund der php einstellung safe_mode 1 nicht hat jemand vielleicht eine idee, was, bzw ob man das script soweit ändern kann, dass es funktioniert ??
die fehler die ich bekomme lauten:
Warning: opendir() [function.opendir]: SAFE MODE Restriction in effect. The script whose uid is 10144 is not allowed to access gallery/hehe/ owned by uid 30 in /home/www/htdocs/husumerjungs.de/fett/check_pictures.php on line 40
Warning: opendir(gallery/hehe/) [function.opendir]: failed to open dir: Success in /home/www/htdocs/husumerjungs.de/fett/check_pictures.php on line 40
Warning: readdir(): supplied argument is not a valid Directory resource in /home/www/htdocs/husumerjungs.de/fett/check_pictures.php on line 41
Warning: closedir(): supplied argument is not a valid Directory resource in /home/www/htdocs/husumerjungs.de/fett/check_pictures.php on line 95
Warning: opendir() [function.opendir]: SAFE MODE Restriction in effect. The script whose uid is 10144 is not allowed to access gallery/hehe/ owned by uid 30 in /home/www/htdocs/husumerjungs.de/fett/check_pictures.php on line 114
Warning: opendir(gallery/hehe/) [function.opendir]: failed to open dir: Success in /home/www/htdocs/husumerjungs.de/fett/check_pictures.php on line 114
Warning: readdir(): supplied argument is not a valid Directory resource in /home/www/htdocs/husumerjungs.de/fett/check_pictures.php on line 115
Warning: closedir(): supplied argument is not a valid Directory resource in /home/www/htdocs/husumerjungs.de/fett/check_pictures.php on line 159
naja hier das script:
Code:
function check_bilder($dir) { $handle = opendir($dir); while ($bild = readdir($handle)) { if ($bild != "." && $bild != "..") { if (is_dir($dir.$bild)) { check_bilder($dir.$bild.'/'); } else { $bilder_namen = array(); $bilder_dirs = array(); if($bild !== "." && $bild !== ".." && eregi(".jpg", $bild)) { array_push ($bilder_namen, "$bild"); array_push ($bilder_dirs, ".$dir.".$bild."; } foreach($bilder_dirs as $key => $pfad) { require("settings.inc.php"); $out = mysql_query("SELECT * FROM ".$table_prefix."pictures WHERE pfad='".$pfad."'") or die (mysql_error()); $check = mysql_num_rows($out); if ($check == 0) { mysql_query("INSERT INTO ".$table_prefix."pictures (pfad) VALUES ('".$pfad."')"); foreach($bilder_namen as $key => $name) { require("settings.inc.php"); $bildlaenge = strlen("$bild"); $pfad2 = str_replace("$bild", ", "$pfad"); $out = mysql_query("SELECT * FROM ".$table_prefix."gallerys WHERE pfad='".$pfad2."'") or die (mysql_error()); $row = mysql_fetch_array($out); $out2 = mysql_query("SELECT * FROM ".$table_prefix."pictures WHERE pfad='".$pfad."'") or die (mysql_error()); $row2 = mysql_fetch_array($out2); $check = mysql_num_rows($out2); if ($row2["name"] !== $name) { mysql_query("UPDATE ".$table_prefix."pictures SET gallery_id='".$row["id"]."', name='".$name."' WHERE pfad='".$pfad."'"); } } } } } } } closedir($handle); }
ja ich wäre über hilfe sehr dankbar !!!!!!!
phillip
hier is das script nochmal ordentlich formatiert!
function check_bilder($dir)
{
$handle = opendir($dir);
while ($bild = readdir($handle))
{
if ($bild != "." && $bild != "..")
{
if (is_dir($dir.$bild))
{
check_bilder($dir.$bild.'/');
}
else
{
$bilder_namen = array();
$bilder_dirs = array();
if($bild !== "." && $bild !== ".." && eregi(".jpg", $bild))
{
array_push ($bilder_namen, "$bild");
array_push ($bilder_dirs, "".$dir."".$bild."");
}
foreach($bilder_dirs as $key => $pfad)
{
require("settings.inc.php");
$out = mysql_query("SELECT * FROM ".$table_prefix."pictures WHERE pfad='".$pfad."'") or die (mysql_error());
$check = mysql_num_rows($out);
if ($check == 0)
{
mysql_query("INSERT INTO ".$table_prefix."pictures (pfad) VALUES ('".$pfad."')");
foreach($bilder_namen as $key => $name)
{
require("settings.inc.php");
$bildlaenge = strlen("$bild");
$pfad2 = str_replace("$bild", "", "$pfad");
$out = mysql_query("SELECT * FROM ".$table_prefix."gallerys WHERE pfad='".$pfad2."'") or die (mysql_error());
$row = mysql_fetch_array($out);
$out2 = mysql_query("SELECT * FROM ".$table_prefix."pictures WHERE pfad='".$pfad."'") or die (mysql_error());
$row2 = mysql_fetch_array($out2);
$check = mysql_num_rows($out2);
if ($row2["name"] !== $name)
{
mysql_query("UPDATE ".$table_prefix."pictures SET gallery_id='".$row["id"]."', name='".$name."' WHERE pfad='".$pfad."'");
}
}
}
}
}
}
}
closedir($handle);
}
Hello,
das Problem steckt nicht unbedingt im Script-Code, sondern in den Eigentümer-Verhältnissen der Files auf dem Server. Wie sind die denn alle auf den Server gelangt?
Siehe hierzu http://selfhtml.bitworks.de --> Wie funktioniert der Safe Mode
Harzliche Grüße aus http://www.annerschbarrich.de
Tom