FTP-Datei-upload mit php
Brauche ich zum hochladen einer Datei automatisch von einem lokalen computer auf einem remote-server. Ich habe Folgendes gefunden code hier:
<?php
require_once('ftp.php');
//set up basic connection
$conn_id = ftp_connect($ftp_server);
//login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
//upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "successfully uploaded $file\n";
exit;
} else {
echo "There was a problem while uploading $file\n";
exit;
}
//close the connection
ftp_close($conn_id);
?>
ftp.php
ist meine Datei mit den ftp-Authentifizierung Informationen. Die Verbindung funktioniert, aber ich erhalte die folgende Fehlermeldung:
There was a problem while uploading C:/xampp/htdocs/testbcos/accounting/checkslastmonth.csv
EDIT: ich amnot sicher, ob dies einen Unterschied macht oder nicht, aber hier sind meine $remote_file, und meine $Datei:
$file = "C:/xampp/htdocs/testbcos/accounting/checkslastmonth.csv";//tobe uploaded
$remote_file = "/home/bookcell/public_html/testbcos/accounting/checkslastmonth3.csv";
Was mache ich hier falsch? Auch ist es möglich, dies zu tun, wenn die Datei auf einem gemappten Laufwerk auf meinem lokalen server?
Danke.
- Überprüfen Sie das remote-Verzeichnis, das Recht haben, die Berechtigung zum hochladen der Datei?
- Das remote-Verzeichnis hat die Berechtigungen 777 zu Testzwecken, und ich aktualisiert das Verzeichnis und versucht, wieder mit dem gleichen Fehler, also denke ich nicht, dass ist das Problem
- bleiben alle Dinge, der geht einen richtigen Weg. Wahrscheinlich ist der Benutzer nicht über die richtigen Berechtigungen für den Zugriff auf den remote-server..
- Stellen Sie sicher, dass Sie aktivieren Sie Warnungen in PHP.
ftp_put
wird auf jeden Fall eine Warnung ausgeben, mit mehr details über den Fehler. - versuchen Sie passiven Modus mit
ftp_pasv($conn_id, true);
- wo sollte das gehen? Kurz bevor ich die Datei hochladen?
- legen Sie es nach
ftp_login
- Leider ist es immer noch nicht funktioniert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstes: Versuchen Sie passiven Modus. Sie benötigen es, wenn Sie hinter einer firewall sitzen. (Was wahrscheinlich der Fall ist)
Zweite, die Sie ändern müssen, um dir erste:
Wenn Sie wissen wollen, was wirklich vor sich geht, versuchen Sie, die Fehlermeldung mit error_get_last() oder
$php_errormsg
$file = realpath(__DIR__).DIRECTORY_SEPARATOR.'checkslastmonth.csv';
Sonst ist der Fehler ziemlich klar: ob die lokale Datei an diesem Speicherort vorhanden ist?realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR.'checkslastmonth.csv'