怎样能实现PHP上传500M-1G大文件而较少出现错误?
在公司测试的300M以上的大文件上传后点击“完成”,列表中没有该文件,但实际服务器上已经存在该文件。(平均800KB/S)服务器上php.ini中的设置:max_exec...
在公司测试的300M以上的大文件上传后点击“完成”,列表中没有该文件,但实际服务器上已经存在该文件。(平均800KB/S)
服务器上php.ini中的设置:
max_execution_time 和 max_input_time 还有IIS中的连接超时都是3600,
upload_max_filesize 和 post_max_size 都设置为2046M。
windows2003的IIS的上传限制也已经改为1G。
使用的phpdisk的系统设置:最大上传文件为1024M。
遇到这种情况怎么设置也不管用,到底该怎么办?
听人说PHP上传大文件就是有问题,不稳定,是真的吗? 展开
服务器上php.ini中的设置:
max_execution_time 和 max_input_time 还有IIS中的连接超时都是3600,
upload_max_filesize 和 post_max_size 都设置为2046M。
windows2003的IIS的上传限制也已经改为1G。
使用的phpdisk的系统设置:最大上传文件为1024M。
遇到这种情况怎么设置也不管用,到底该怎么办?
听人说PHP上传大文件就是有问题,不稳定,是真的吗? 展开
4个回答
展开全部
大文件传送,用http方式传是不现实的,传的时间长脚本会超时的
你尝试改用ftp传送吧,php中有些关于ftp传文件的函数
以下是php以FTP方式传文件的代码,你参考下
$ftp_server="*.*.*.*";
$ftp_user="lu";
$ftp_pass="loveyou";
//setupaconnectionordie
$conn_id=ftp_connect($ftp_server)ordie("Couldn'tconnectto$ftp_server");
$login_result=ftp_login($conn_id,$ftp_user,$ftp_pass);
if((!$conn_id)||(!$login_result)){
echo"FTPconnectionhasfailed!";
echo"Attemptedtoconnectto$ftp_serverforuser$ftp_user_name";
exit;
}else{
echo"Connectedto$ftp_server,foruser$ftp_user_name";
}
//trytologin
$filename=date('Ymd').".xml";
$source_file="/usr/local/IVR/sendwireless/xml/data/".$filename;//源地址
echo$source_file;
$destination_file="/ITC/admin/logstat/ftplog/".$filename;//目标地址
$upload=ftp_put($conn_id,$destination_file,$source_file,FTP_BINARY)ordie("Couldn'tconnectto$ftp_server");
ftp_quit($conn_id);
if(!$upload){
echo"FTPuploadhasfailed!";
}else{
echo"Uploaded$source_fileto$ftp_serveras$destination_file";
}
ftp_close($conn_id);
你尝试改用ftp传送吧,php中有些关于ftp传文件的函数
以下是php以FTP方式传文件的代码,你参考下
$ftp_server="*.*.*.*";
$ftp_user="lu";
$ftp_pass="loveyou";
//setupaconnectionordie
$conn_id=ftp_connect($ftp_server)ordie("Couldn'tconnectto$ftp_server");
$login_result=ftp_login($conn_id,$ftp_user,$ftp_pass);
if((!$conn_id)||(!$login_result)){
echo"FTPconnectionhasfailed!";
echo"Attemptedtoconnectto$ftp_serverforuser$ftp_user_name";
exit;
}else{
echo"Connectedto$ftp_server,foruser$ftp_user_name";
}
//trytologin
$filename=date('Ymd').".xml";
$source_file="/usr/local/IVR/sendwireless/xml/data/".$filename;//源地址
echo$source_file;
$destination_file="/ITC/admin/logstat/ftplog/".$filename;//目标地址
$upload=ftp_put($conn_id,$destination_file,$source_file,FTP_BINARY)ordie("Couldn'tconnectto$ftp_server");
ftp_quit($conn_id);
if(!$upload){
echo"FTPuploadhasfailed!";
}else{
echo"Uploaded$source_fileto$ftp_serveras$destination_file";
}
ftp_close($conn_id);
展开全部
是的,126推出的新邮箱2G,一半传送个300M左右,在多了就出错!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这么大的文件 不用工具上传的话 不现实 局域网还可以实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也不会
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询