【发布时间】:2014-04-12 18:15:57
【问题描述】:
我正在上传一些文件,但有时我收到错误 500。 我只是 javascript 来上传文件。
$userid = $_REQUEST['usr'];
$img = $_REQUEST['fileTopostUpload'];
$imgtype = substr($img,0,23);
$imgtypee = substr($img,0,22);
$imgtype2 = substr($img,5,10);
$imgtype3 = substr($img,5,9);
$filesize = $_REQUEST['filesize'];
$filename = $_REQUEST['filename'];
$filetype = $_REQUEST['filetype'];
$write_view = explode("-", $filename);
$artist = $write_view['0'];
$song = $write_view['1'];
$md5encoded = md5("$date$userid");
$ext = ".mp3";
$img = str_replace('data:audio/mp3;base64,', '', $img);
$img = str_replace('data:audio/mpeg;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$check = mysql_query("SELECT * FROM songs WHERE songuploaduser = '$userid' AND songfilename = '$filename' AND songfilesize = '$filesize'");
$checkcheck = mysql_num_rows($check);
if($checkcheck == "0") {
$insert = mysql_query("INSERT INTO songs(
songartist,
songtitle,
songfilename,
songfilesize,
songuploaduser,
songuploaddate,
songpencoded
)VALUES(
'$artist',
'$song',
'$filename',
'$filesize',
'$userid',
'$date',
'$md5encoded$ext'
)");
$file = "$_SERVER[DOCUMENT_ROOT]/uploads/audio/$md5encoded$ext";
$success = file_put_contents($file, $data);
}
给出错误的文件如下所示: 11 - Wamdue Project - 我的城堡之王.mp3 01. 罗琳 - Euphoria.mp3 08. Fist Aid Kit - The Lion's Rour.mp3
但确实有效的文件: 伊姆兰汗 - 放大器.mp3 09. Lange Frans, Brutus, Negativ & Baas B - Je Bent Geen Tijger.mp3
我不明白.. 怎么能说一个文件给出错误 500 而另一个没有呢?
【问题讨论】:
-
错误日志说明了什么? mysql_* 已弃用。您的查询容易受到 SQL 注入的影响
-
您必须检查错误日志以获取更多详细信息!
-
"$_SERVER[DOCUMENT_ROOT]/uploads/audio/$md5encoded$ext" 不起作用。使用“{$_SERVER['DOCUMENT_ROOT']}/uploads/audio/$md5encoded$ext”
-
工作正常...我得到的文件如下:399132fb55f4425d49220bfc97c29aa3.mp3 就像我说的,它只适用于一些它不适用的文件
-
我的错误是:PHP 致命错误:允许的内存大小为 33554432 字节已用尽(尝试分配 16366243 字节)但我在 php.ini 中有:upload_max_filesize = 1G
标签: php