• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

FTP

Hallo Leute,

Ich habe mir eine php Datei geschrieben um eine CSV regelmäßig auf einen anderen Server zu übertragen.

Leider wird nix übertragen.
Hat jemand eine Idee was falsch ist ?

PHP:
<?
set_time_limit(999);

/***
nun FTP Upload mit curl
***/
function curlUpload($ftp,$ftpFile) {
    
    $fp   = fopen($ftpFile, "r"); 
    $url  = "ftp://".$ftp['user'].":".$ftp['passwd']."@". 
             $ftp['host'].":21" .$ftp['pfad'].$ftp['file']; 
    
    $handle = curl_init();     
    
    curl_setopt($handle, CURLOPT_URL, $url);  
    curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt($handle, CURLOPT_UPLOAD, 1);  
    curl_setopt($handle, CURLOPT_INFILE, $fp);  
    curl_setopt($handle, CURLOPT_INFILESIZE, filesize($ftpFile));  
    curl_setopt($handle, CURLOPT_TIMEOUT, 900);
    curl_setopt($handle, CURLOPT_CONNECTTIMEOUT, 900);


    $result = curl_exec($handle);  

    $info = curl_getinfo ($handle);

    curl_close($handle); 
    
    return $info; 

} 

$ftp['user'] = '1000732382';
$ftp['passwd'] = 'x1h0cJl5';
$ftp['host'] = 'ftp.test.at';
$ftp['pfad'] = '/Schnittstelle_TEST/';
$ftp['file'] = "text.csv";
$ftpFile = "text.csv";

$info = curlUpload($ftp,$ftpFile);

print_r($info);
?>

Als Antwort kommt:

PHP:
Array ( [url] => ftp://1000732382:x1h0cJl5@ftp.test.at:21/Schnittstelle_TEST/text.csv [content_type] => [http_code] => 421 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.065181 [namelookup_time] => 0.004295 [connect_time] => 0.022713 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [redirect_url] => [primary_ip] => 0.0.0.0 [certinfo] => Array ( ) [primary_port] => 21 [local_ip] => 0.0.0.0 [local_port] => 52838 )
 
Last edited by a moderator:
421 sagt dass der Server mit deiner Anfrage nicht klar kommt. Evtl. läuft da kein FTP? Kenn mich mich ftp über curl auch ned aus. Find ich ne komische Lösung...

PS: Ich hoffe das sind keine echten Passwörter!
 
test.csv ist doch bereits eine Datei, wo ist das Problem?


BTW: Bitte verwende für Deine Beispiele nicht einfach irgendwelche Domains, schon gar keine existierenden, sondern Deine eigenen oder die dafür vorgesehenen.
Die Stiftung Warentest könnte Deine ungenehmigte Verwendung ihrer Domain als Angriff werten und Dich rechtlich zur Verantwortung ziehen ("Hackerparagraphen" und Schadenersatz nach BGB).
 
Ist das jetzt ne neue Frage? Dann wäre vielleucht ein neuer Thread eine gute Idee.

Ich hab übrigens die Frage nicht verstanden.

PS: example.com ist für alle Arten von Beispiellinks gedacht.
 
Shopware erzeugt also diese csv (die in Wirklichkeit mit ‚|‘ getrennt ist)und du möchtest diese Datei woanders per FTP hinschicken. Korrekt?

Wie genau sagst du Shopware dass es diese Datei erzeugen soll?
Ich vermute nämlich das ist keine „echte“ Datei sondern wird on-the-fly erzeugt.

Ich würde da wahrscheinlich ein kleines Script basteln was den Link so bekommt wie du ihn jetzt uns geschickt hast, das ganze dann z.B. per wget als echte Datei speichert und dann per FTP weiter schickt.

Sollte mit 10 Zeilen bash oder python zu machen sein.
 
Shopware erzeugt also diese csv (die in Wirklichkeit mit ‚|‘ getrennt ist)und du möchtest diese Datei woanders per FTP hinschicken. Korrekt?

Wie genau sagst du Shopware dass es diese Datei erzeugen soll?
Ich vermute nämlich das ist keine „echte“ Datei sondern wird on-the-fly erzeugt.

Ich würde da wahrscheinlich ein kleines Script basteln was den Link so bekommt wie du ihn jetzt uns geschickt hast, das ganze dann z.B. per wget als echte Datei speichert und dann per FTP weiter schickt.

Sollte mit 10 Zeilen bash oder python zu machen sein.

Die Datei wird auf Anfrage erstellt. z.b. Geizhals oder Rakuten fragt per Cron an und die Datei wird erstellt. Oder manuell per klick im Backend.
Leider kann das der neue Marktplatz Shöpping noch nicht, sondern es muss ein csv manuell hinterlegt werden.
 
Also erstellst du die Datei selber per Cron und holst sie danach von einem Script ab welches die Datei per FTP an Shöpping hochläd. Würd das gehen?
 
Mit curls ftp ergibt sich dann in etwa dieser Oneliner, ganz ohne Script-Overhead:
Code:
wget -q "https://baby-lala.wien/backend/export/index/test.csv?feedID=21&hash=e32c6c05d00ea62655ac98b40e189947" -O - | curl -T - ftp://ftp.example.com --user user:secret
 
Last edited by a moderator:
Mit curls ftp ergibt sich dann in etwa dieser Oneliner, ganz ohne Script-Overhead:
Code:
wget -q "https://baby-lala.wien/backend/export/index/test.csv?feedID=21&hash=e32c6c05d00ea62655ac98b40e189947" -O - | curl -T - ftp://ftp.example.com --user user:secret

Klappt leider nicht :-(
HTML:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (28) Timeout was reached

Es muss SSL sein mit ftps klappt es nicht.
 
Klappt leider nicht :-(
HTML:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (28) Timeout was reached

Es muss SSL sein mit ftps klappt es nicht.

Ich habe natürlich meine Livedaten ersetzt :)
 
Es klappt aber leider nicht.

HTML:
curl(1) Curl Manual curl(1)



NAME
curl - transfer a URL

SYNOPSIS
curl [options] [URL...]

DESCRIPTION
curl is a tool to transfer data from or to a server, using one of the
supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP,
IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS,
TELNET and TFTP). The command is designed to work without user inter‐
action.

curl offers a busload of useful tricks like proxy support, user authen‐
tication, FTP upload, HTTP post, SSL connections, cookies, file trans‐
fer resume, Metalink, and more. As you will see below, the number of
features will make your head spin!
 
Back
Top