Hi!
Ich würde gern von meiner Festplatte Bilder via ftp auf meinen Server laden.
Da es ziemlich viel sein könnten (bzw. auch verschachtelt), wäre ein kompletter Verzeichnisupload am besten.
Habe dazu ein script gefunden, das beim testen noch funktioniert hat (localhost), aber jetzt am server nicht mehr.
Es scheitert immer an der opendir-Funktion.
Der Output lautet wie folgt:
Kann mir da bitte jemand helfen? Muss ich vielleicht bei meinem Windows was freigeben oder am Server was einstellen? Oder hat dieses Script einen Fehler?
Ich versuch mich schon seit 2 Tagen und es klappt nicht.
Lg
spidernet1979
Ich würde gern von meiner Festplatte Bilder via ftp auf meinen Server laden.
Da es ziemlich viel sein könnten (bzw. auch verschachtelt), wäre ein kompletter Verzeichnisupload am besten.
Habe dazu ein script gefunden, das beim testen noch funktioniert hat (localhost), aber jetzt am server nicht mehr.
Es scheitert immer an der opendir-Funktion.
PHP-Code:
function moveFolder($_server, $_user_name, $_user_pass, $local_dir, $remote_dir, &$count, $id, $part = '', $parentFolder = "") {
// set up basic connection
$_conn_id = ftp_connect($_server);
// login with username and password
$_login_result = ftp_login($_conn_id, $_user_name, $_user_pass);
// check connection
if ((!$_conn_id) || (!$_login_result)) {
$_error = "FTP connection has failed!<br />";
$_error .= "Attempted to connect to $_server for user $_user_name<br />";
$result = false;
} else {
$_error = "Connected to $_server, for user $_user_name<br />";
$result = true;
}
echo $_error;
$conn_id = $_conn_id;
@ftp_chdir($conn_id, "/shop/pics");
@ftp_mkdir($conn_id, $remote_dir);
$handle = @opendir($local_dir) or die ("Could not open a stream for dir: 'upload'");
while (($file = readdir($handle)) !== false) {
$_error .= $file."<br/>";
if (($file != '.') && ($file != '..')) {
if (is_dir($local_dir."/".$file)) {
$wsdir = new ws_directory();
$wsdir->folder = $file;
$wsdir->parent = $parentFolder;
$wsdir->ws_eventid = $id;
$wsdir->Save();
moveFolder($_server, $_user_name, $_user_pass, $local_dir."/".$file.'/', $remote_dir."/".$file.'/', $count, $id, $part, $wsdir->folder);
} else {
$f[] = $file;
$count++;
}
}
}
closedir($handle);
if (count($f)) {
$i = 0;
sort($f);
@ftp_chdir($conn_id, $remote_dir);
foreach ($f as $files) {
$from = @fopen("$local_dir\\$files", 'r');
$moveFolder = ftp_fput($conn_id, $files, $from, FTP_BINARY);
// check upload status
if (!$moveFolder) {
$_error .= "FTP upload has failed! From: $local_dir To: $remote_dir <br />";
$result = false;
} else {
$wspics = new ws_pics();
$wspics->name = str_pad($i, 4, "0", STR_PAD_LEFT).$part;
$wspics->orig_name = $files;
$wspics->ws_eventid = $is;
$wspics->Save();
++$i;
$result = true;
$_error .= $file."true<br />";
}
}
}
echo $_error;
return $result;
} // moveFolder
Code:
Could not open a stream for dir: C:\\TEMP\\FOLDER
Ich versuch mich schon seit 2 Tagen und es klappt nicht.
Lg
spidernet1979
Kommentar