PHP-大文件上载错误
我正在从AIR桌面应用程序发送一个图像和一些文本,作为Base64编码字符串。 如果图像大小约为100KB,则上传正常,但如果图像大小大于220KB,则会在一段时间后返回错误 该错误告诉http://www.example.com/upload.php -打开URL时出错,但URL路径正确且可以找到 我的PHP有什么问题PHP-大文件上载错误,php,actionscript-3,file-upload,Php,Actionscript 3,File Upload,我正在从AIR桌面应用程序发送一个图像和一些文本,作为Base64编码字符串。 如果图像大小约为100KB,则上传正常,但如果图像大小大于220KB,则会在一段时间后返回错误 该错误告诉http://www.example.com/upload.php -打开URL时出错,但URL路径正确且可以找到 我的PHP有什么问题 <?php $file = $_POST["thefile"]; $text_message = $_POST["themessage"
<?php
$file = $_POST["thefile"];
$text_message = $_POST["themessage"];
$subject = $_POST["thesubject"];
$from = $_POST["thesender"];
$to = $_POST["theaddress"];
$attachment=uniqid(rand(), true) . '.png';
$headers="From: $from\r\n";
$headers.="Reply-to: $from\r\n";
$headers.="Return-Path: $from\r\n";
if (isset($_ENV["SERVER_NAME"]))
$headers.="Message-Id: <" . md5(uniqid(microtime())) . "@" . $_ENV["SERVER_NAME"] . ">\r\n";
else
$headers.="Message-Id: <" . md5(uniqid(microtime())) . "@" . 'unknown' . ">\r\n";
$headers.="Date: " . date("r") . "\r\n";
$headers.="X-Mailer: PHP\r\n";
if (isset($_ENV["REMOTE_ADDR"]))
$headers.="X-SenderIP: " . $_ENV["REMOTE_ADDR"] . "\r\n";
else
$headers.="X-SenderIP: " . 'unknown' . "\r\n";
if (isset($_ENV["SERVER_NAME"]))
$headers.="X-WebSite: " . $_ENV["SERVER_NAME"] . "\r\n";
else
$headers.="X-WebSite: " . 'unknown' . "\r\n";
$headers.="X-Script: SWF_Generator\r\n";
$bound_text=md5(uniqid(time()));
$headers.="MIME-Version: 1.0\r\n" . "Content-Type: multipart/mixed; boundary=\"PHP-mixed-$bound_text\"\r\n";
$message="--PHP-mixed-$bound_text\r\n"
."Content-Type: text/html; charset=\"utf-8\"\r\n"
."Content-Transfer-Encoding: 7bit\r\n\r\n"
."<html><head></head><body>"
."<div style=\"font-family: Arial, Helvetica, sans-serif; font-size : 1.3em; color: #000000;width: 100%;text-align: left;\">$text_message</div></body></html>\r\n\r\n"
."--PHP-mixed-$bound_text\r\n"
."Content-Transfer-Encoding: base64\r\n"
."Content-Disposition: attachment; filename=\"$attachment\"\r\n"
."Content-Type: image/png; name=\"$attachment\"\r\n\r\n"
.chunk_split($file)
."\r\n\r\n"
."--PHP-mixed-$bound_text--\r\n\r\n";
mail($to,$subject,$message,$headers);
}
?>
服务器信息:
PHP Version 5.2.12-nmm2 System
Debug Build: no
Thread Safety: disabled
Zend Memory Manager: enabled
Registered PHP Streams: https, ftps,
compress.zlib, compress.bzip2, php, file, data, http, ftp, zip
Registered Stream Socket Transports: tcp, udp, unix, udg, ssl, sslv3,
sslv2, tls
Registered Stream Filters: zlib.*, bzip2.*,
convert.iconv.*, string.rot13, string.toupper, string.tolower,
string.strip_tags, convert.*, consumed
PHP版本5.2.12-nmm2系统
调试生成:否
线程安全:禁用
Zend内存管理器:已启用
注册的PHP流:https、ftps、,
compress.zlib、compress.bzip2、php、文件、数据、http、ftp、zip
已注册的流套接字传输:tcp、udp、unix、udg、ssl、sslv3、,
sslv2,tls
注册流过滤器:zlib.*,bzip2.*,
convert.iconv.*,string.rot13,string.toupper,string.tolower,
string.strip_标记,转换。*,已使用
查看phpinfo()中的upload_max_filesize和post_max_size。它们通常以兆字节为单位,但无论如何都要检查。post_max_大小应为上载的最大文件大小的两倍
查看服务器日志以了解php错误。也许您应该使用amfphp或发送post数据方法? 您使用Base64的方式肯定会比较慢,并且需要服务器处理,您可以避免这种情况 链接到post方法:
请添加手动链接。我不认为你关于“两倍大小”的说法是正确的。从我的phpinfo():
max_执行时间800 30 | max_文件上传20 | max_输入_嵌套|级别64 | max_输入|时间100 60 |内存限制120米64米
-这是否足以上传一幅约230 KB的图像?(230 KB图像编码为Base64字符串)这些不是我们正在寻找的机器人。检查上传最大文件大小和发布最大文件大小。Post大小应大于上载最大文件大小,因为数据是根据表单设置编码的。通常帖子大小为~1.7二进制大小。以下是值:upload_max_filesize:local:100M/master:200M | post_max_size:local:100M/master:200M |这些值足够高吗?下面是我今天的服务器日志:Mon Nov 07 18:02:19 2011 0::ffff:75.99.149.12545/www/htdocs/abcde123/send/upload.php a)i r example.com ftps 0*c Mon2011年11月7日22:11:59我不知道他们在告诉我什么。有人看到了我上传错误问题的答案吗?我会先禁用邮件功能,看看这是否能解决问题。你可能会在邮件中遇到一些奇怪的事情,只是尝试了一下,但没有任何改变。同样的错误也出现了。