我正在尝试使用 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 值?
更多信息
我的网络管理员告诉我,我使用的是基于 IIS Windows 的系统,因此 .htaccess 文件将无法工作。有没有办法可以通过 web.config 影响文件上传大小?