Ich habe den ganzen Tag googlen versucht alles, was ich finden kann, aber nichts funktioniert. Ich fange an verzweifelt zu werden.FTP-Datei-Upload-Probleme in PHP
Ich versuche, ein Skript zu machen, das eine Datei auf meinen FTP-Account hochladen kann, aber bis jetzt konnte ich es nicht funktionieren.
Ich erhalte diese Fehler:
Warning: ftp_put(): Opening data channel for file transfer. in C:\xampp\htdocs\AA\dwsite\ftptest\up.php on line 49
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\AA\dwsite\ftptest\up.php on line 49
Dies ist der Code Ich verwende:
<?php
if (isset ($_FILES ['be_file'])) {
$file_size = $_FILES ['be_file'] ['be_file'];
$file_type = $_FILES ['be_file'] ['type'];
$source_file = $_FILES ['be_file'] ['tmp_name'];
$destination_file = $_FILES ['be_file'] ['name'];
//ftp details
$ftp_server = 'ip of ftp';
$ftp_port = 'port number';
$ftp_user_name = 'username';
$ftp_user_pass = 'pass';
// set up basic connection
$conn_id = ftp_connect ($ftp_server, $ftp_port);
ftp_pasv ($conn_id, true);
// 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, $destination_file, $source_file, FTP_BINARY)) {
echo "successfully uploaded $source_file\n";
exit();
} else {
echo "There was a problem while uploading $source_file\n";
exit();
}
// close the connection
ftp_close ($conn_id);
echo "Success";
}
?>
<html>
<body>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="file" /> <input type="submit" />
<ul>
<li>Sent file: <?php echo $_FILES['be_file']['name']; ?>
<li>File size: <?php echo $_FILES['be_file']['size']; ?>
<li>File type: <?php echo $_FILES['be_file']['type']?>
</ul>
</form>
</body>
</html>
Oder fügen Sie 'set_time_limit (0);' in Ihrem Code. Vielleicht können Sie die Antwort @Pierre damit aktualisieren. – walkingRed
Also habe ich die set_time_limit (0) hinzugefügt; zu meinem Code und der Ausführungszeit Fehler ist weg, aber ich bekomme immer noch die "Warnung: ftp_put(): Eröffnung Datenkanal für die Dateiübertragung. in C: \ xampp \ htdocs \ AA \ dwsite \ ftptest \ up.php in Zeile 49 "Ich versuche, ein JPG-Bild von 150kb Größe hochzuladen. sollte es wirklich so lange dauern? und genau wie vorher, ist nichts auf ftp account hochgeladen. – Ugis
Haben Sie in Ihrer php.ini getestet und starten Sie Ihren php-fpm Dienst und Server neu? – Pierre