我正在尝试通过ftp代码上传文件,但问题是我无法通过以下代码上传超过50MB
文件。
memory_limit is 64M
,这就是我尝试通过ftp代码执行此操作的原因。任何解决方案如何上传大尺寸文件而不更改memory_limit
?
if(isset($_POST['submit'])){
$title = sql_replace($_POST['title']);
$desc = sql_replace($_POST['desc']);
if(!$title)
{ $errors .= "File Title is Missing !<br>"; }
if(!$desc)
{ $errors .= "Description is Missing !<br>"; }
if(!$errors){
/************UPLOAD WITH FTP***********/
// set up basic connection
$ftp_server = 'IP here...';
$ftp_user_name = '.....';
$ftp_user_pass = '*******';
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// upload a file
$file = $_FILES['file']['name'];
$tmp = $_FILES['file']['tmp_name'];
if (ftp_put($conn_id, $file, $tmp, FTP_ASCII)) {
echo "successfully uploaded $file\n";
} else {
echo "There was a problem while uploading $file\n";
$errors .= "Invalid file<br>";
}
// close the connection
ftp_close($conn_id);
}
}
答案 0 :(得分:2)
memory-limit
参数与文件上传几乎没有关系。
检查php.ini文件中的参数upload_max_filesize = 50M
您必须增加此限制,请尝试upload_max_filesize = 60M
,因为有效负载中总会有一些其他内容超出您的实际文件。
替代建议:
是的我相信你可以使用ini_set()函数设置它,所以你可以从这样的代码中做到这一点:
ini_set('upload_max_filesize', '60M');