PHP - FTP Upload via cURL
Guten Morgen am Pfingstmontag,
ich lade via cURL und PHP mit nachfolgendem Skript Dateien auf einen FTP Server - womit ich auch sFTP auch zulässig ist:
Es kann allerdings vorkommen, dass die Datei die hochgeladen werden sollen, nicht nur filename.zip heisst, sondern es auch vorkommen kann, dass dieser nicht immer fix ist.
Kann mir jemand ausshelfen?
filename*.zip funktioniert leider nicht.
Mit den besten Grüßen
ich lade via cURL und PHP mit nachfolgendem Skript Dateien auf einen FTP Server - womit ich auch sFTP auch zulässig ist:
<?php
$ch = curl_init();
$localfile = '/path/to/file.zip';
$remotefile = 'filename.zip';
$fp = fopen($localfile, 'r');
curl_setopt($ch, CURLOPT_URL, 'ftp://ftp_login:password@ftp.domain.com/'.$remotefile);
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));
curl_exec ($ch);
$error_no = curl_errno($ch);
curl_close ($ch);
if ($error_no == 0) {
$error = 'File uploaded succesfully.';
} else {
$error = 'File upload error.';
}
?>
Es kann allerdings vorkommen, dass die Datei die hochgeladen werden sollen, nicht nur filename.zip heisst, sondern es auch vorkommen kann, dass dieser nicht immer fix ist.
Kann mir jemand ausshelfen?
filename*.zip funktioniert leider nicht.
Mit den besten Grüßen
Please also mark the comments that contributed to the solution of the article
Content-Key: 2999978943
Url: https://administrator.de/contentid/2999978943
Printed on: June 3, 2024 at 23:06 o'clock
3 Comments
Latest comment
Servus.
glob() ist dein Freund
Grüße Uwe
glob() ist dein Freund
<?php
foreach (glob("/path/to/*.zip") as $filename){
$ch = curl_init();
$remotefile = basename($filename);
$fp = fopen($filename, 'r');
curl_setopt($ch, CURLOPT_URL, 'ftp://ftp_login:password@ftp.domain.com/'.$remotefile);
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($filename));
curl_exec ($ch);
$error_no = curl_errno($ch);
curl_close ($ch);
fclose($fp);
if ($error_no == 0) {
$error = 'File uploaded succesfully.';
} else {
$error = 'File upload error.';
}
}
?>
Zitat von @freshman2017:
Servus Uwe,
ich bin mir jetzt nicht sicher, an welcher Stelle ich es bei mir einbauen muss?
Echt jetzt ??Servus Uwe,
ich bin mir jetzt nicht sicher, an welcher Stelle ich es bei mir einbauen muss?
Was steht wohl in $filename?! Genau, der Dateiname, jetzt musst du nur noch 1+1 zusammenzählen ... und den Dateinamen dort einbauen wo du ihn brauchst. Ist das wirklich sooo schwer?
edit. S.o.
Schönen Feiertag.