Hochladen großer Dateien mit FTP mit PHP

Ich versuche zum hochladen von großen Dateien mit php auf einen ftp-server. Ich kann kleine Dateien hochladen, aber ich habe Probleme beim hochladen von größeren Dateien. Ich habe es nachgeschlagen und festgestellt, dass ich brauche, um upload_max_filesize und post_max_size, setzen Sie ftp passive mode und set time limit nie. Ich hatte kein Glück mit der Einstellung der Zeit-limit, und was ich jetzt habe ist nicht die Rückkehr Fehler, aber es ist auch nicht die Datei hochladen. Wenn man sich die if (!$upload) { Linie am unteren Rand, es sollte echo etwas, ist es aber nicht. Noch wichtiger ist, es funktioniert einfach nicht. Keine Einsicht, was falsch läuft oder was ich tun muss, um diese Arbeit zu machen? Danke!

ini_set('upload_max_filesize', '50M');   
ini_set('post_max_size', '50M');  

$conn_id = ftp_connect($ftp_server);

//login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

//check connection
if ((!$conn_id) || (!$login_result)) {
        echo "FTP connection has failed!";
        echo "Attempted to connect to $ftp_server for user $ftp_user_name";
        exit;
}

 //turn passive mode on
ftp_pasv($conn_id, true);

if($_FILES['upload_file']['name']!=''){
    $source_file = $_FILES['upload_file']['tmp_name'];
    $destination_file = $_FILES['upload_file']['name']; 

    //upload the file
    $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

    //check upload status
    if (!$upload) {
            echo "FTP upload has failed!<br />";
        } else {
            echo "Uploaded $source_file to $ftp_server as $destination_file<br />";
        }       
}

UPDATE

Habe ich entdeckt, dass ich nicht festlegen, dass die upload_max_filesize Wert aus der php-Seite; auch ich kann nicht scheinen zu bekommen .htaccess zu arbeiten: wenn ich eine .htaccess-Datei führt einen HTTP-Fehler 500. Auch habe ich keinen Zugriff auf php.ini.

Wie sonst kann ich die upload_max_filesize Wert?

Mehr Informationen

Mein web-administrator hat mir gesagt, dass ich auf einem IIS-system auf windows-Basis, so .htaccess-Dateien nicht funktionieren. Gibt es eine Möglichkeit, ich kann auf die Datei-upload-Größe mit web.config?

  • Wo haben Sie das timelimit?
  • einige hosting-Unternehmen werden nur lassen Sie sich gesetzt, die so hoch ist. Auch, anstatt es jedes mal, wenn das Skript ausgeführt wird, warum nicht einfach in den php.ini-Datei?
  • Ist das laden der Seite ewig? Wenn nicht, ist der Grund, dass es nicht das echo etwas sein muss, weil $_FILES['upload_file']['name'] ist ''. Und stellen Sie sicher, Fehler-reporting auf.
  • Ich habe es an der Spitze: set_time_limit(0)
  • Wie schalte ich das error reporting auf? Es wird upload von kleinen Dateien, aber nicht zu große Dateien.
  • Sie können schalten Sie es mit error_reporting(-1);.
  • Sie sicher, dass set_time_limit() funktioniert? Einige hosts verlangen, dass Sie auch php.ini-Datei in das Verzeichnis, in dem Ihre php-Datei befindet.
  • Error-reporting nicht scheinen, etwas zu tun.
  • für die web-config, vielleicht können Sie einen Blick auf die http-runtime-Abschnitt: msdn.microsoft.com/en-us/library/e1f13641.aspx

InformationsquelleAutor bozdoz | 2012-05-01
Schreibe einen Kommentar