phpを使用して大きなファイルをftpサーバーにアップロードしようとしています。小さいファイルをアップロードできますが、大きいファイルをアップロードできません。調べてみると、upload_max_filesizeとpost_max_sizeを設定し、ftpをパッシブモードに設定し、時間制限をneverに設定する必要があることがわかりました。時間制限を設定することができず、現在のところエラーは返されませんが、ファイルもアップロードされていません。一番下の線を見ると、if (!$upload) {
何かがエコーするはずですが、そうではありません。さらに重要なのは、それが機能していないことです。何がうまくいかないのか、これを機能させるために何をする必要があるのかについての洞察はありますか?ありがとうございました!
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 />";
}
}
アップデート
PHPページからupload_max_filesize値を設定できないことを発見しました。また、.htaccessを機能させることができないようです。.htaccessファイルがあると、HTTPエラー500が発生します。また、php.iniにアクセスできません。
他にどうすればupload_max_filesize値を変更できますか?
詳しくは
Web管理者から、IIS Windowsベースのシステムを使用しているため、.htaccessファイルが機能しないと言われました。web.configを使用してファイルのアップロードサイズに影響を与える方法はありますか?