Unten Code nimmt Datei von HTML-Formular und speichert temporäre Datei in lokalen Temp-Ordner, kann aber nicht auf den Server hochladen. Der Server wird den Upload vom FTP-Client durchführen, aber der unten stehende PHP-Code gibt "Kann nicht hochladen" zurück. Problem mit $ destDir? Verzeichnis existiert auf dem Server ... jede Hilfe wird geschätzt.Datei mit PHP und FTP hochladen, wo ist mein Fehler?
<?php
// set up basic connection
$ftp_server = "ftp.rf.gd";
$ftp_user_name = "rfgd_19026557";
$conn_id = ftp_connect($ftp_server);
$pass="fakepass";
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $pass);
//test if the connection is successful
echo '<center>';
$conn_id = ftp_connect($ftp_server);
if (!$conn_id)
echo '<div style="background-color:red;padding:10px;color:#fff;font-size:16px;">
Couldn\'t connect to <b>' . $ftp_server . '</b></div>';
else
echo '<div style="background-color:green;padding:10px;color:#fff;font-size:16px;">
Connected to <b>' . $ftp_server . '</b></div>';
ftp_pasv($conn_id, true); // turns on passive mode
// upload a file
$destDir = "Business/pics";
$workDir = "C:\Apache24\htdocs\Images"; // define this as per local system
// get temporary file name for the uploaded file
$tmpName = basename($_FILES["fileToUpload"]['tmp_name']);
// copy uploaded file into current directory
move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $workDir."/".$tmpName) or die("Cannot move uploaded file to working directory");
//Code above this point works
// perform file upload
$upload = ftp_put($conn_id, $destDir."/".$_FILES['fileToUpload']['name'], $workDir."/".$tmpName, FTP_BINARY);
// check upload status
// display message
if (!$upload) {
echo "Cannot upload";
} else {
echo "Upload complete";
}
// close the connection
ftp_close($conn_id);
// delete local copy of uploaded file
//unlink($workDir."/".$tmpName) or die("Cannot delete uploaded file from working directory — manual deletion recommended");
?>
Haben Sie die Berechtigungen haben ausgehenden Datenverkehr zu initiieren? –
Ich starte von der Browser-Adresse http: //localhost/upload.html, die nach der Dateieingabe fragt und die folgende php-Datei aufruft. gleicher Ordner (htdocs). Was würde ich tun, um nach Erlaubnis zu fragen, auszugehen? –
Hoppla, habe meinen Fehler gefunden. Nach dem Verbinden definiere ich $ conn_id = ftp_connect ($ ftp_server) erneut, was im Wesentlichen die Verbindung trennt. Entschuldigung für die Mühe und danke für die Hilfe. Jeff –