上传大文件时出错3.3mb [英] error while uploading big files say 3.3mb
问题描述
[PHP]<?php
mysql_connect(" localhost"," XXX"," xxx")或者DIE(mysql_error());
mysql_select_db(" XXX")或DIE(无法选择db.mysql_error());
//我们的sql查询
$ str_sql1 ="从招标中选择Tnumber,其中Tnumber =''"。$ _ POST [''Tnumber'']。"''" ;;
$ res_id1 = mysql_query($ str_sql1);
$ rec_row = mysql_fetch_row($ res_id1);
$ rows = mysql_num_rows($ res_id1);
if($ rows> 0){
$ msg ="名称已存在!!< br>< INPUT Type = \" Button \" NAME = \" Back\"值= \" Back\"的onclick = \" history.back()\"类= \" button\">" ;
打印$ msg;
}否则{
?>
<? php
if($ _ FILES [''userfile''] [''size'']< 30000000)
{
$ fileName = $ _FILES [''userfile''] [''name''];
// echo $ fileName;
$ tmpName = $ _FILES [''userfile' '] [''tmp_name''];
// echo $ tmpName;
$ fileSize = $ _FILES [''userfile''] [''size'' ];
// echo $ fileSize;
$ fileType = $ _FILES [''userfile''] [''type''];
// echo $ fileType;
$ fp = fopen($ tmpName," rb");
$ content = fread($ fp, filesize($ tmpName)); //大文件错误
$ content = addslashes($ content);
/ * fclose($ fp); * /
if(!get_magic_quotes_gpc())
{
$ fileName = addslashes($ fileName);
}
$ date_arr = split(''[/:]'',$ _ POST [''已发布'']);
$ Posted = $ date_arr [2]。" - "。$ date_arr [1]。" - "。$ date_arr [0];
$ date_arr1 = split(''[/:]'',$ _ POST [''Expires'']);
$ Expires = $ date_arr1 [2]。" - " 。$ date_arr1 [1]。" - "。$ date_arr1 [0];
/ *
echo $ Posted;
echo $ Expires;
echo $ _POST [''Description''];
echo $ _POST [''Type''];
echo $ fileName;
* /
mysql_connect(" localhost"," XXX"," XXX")或DIE(mysql_error) ());
//选择数据库
mysql_select_db(" XXX")或DIE(无法选择数据库.mysql_error() );
$ query ="插入招标(Tnumber,Description,Posted,Expires,Name,Ty pe,Doc)VALUES(''"。$ _ POST [''Tnumber''] " '', '' " $ _ POST [ '' 描述 '']"。 ," $发布"," $过期"," $文件名"," ;. $ _POST [''Type'']。"'',''"。$ content。"'')" ;;
mysql_query($查询)或死(''错误,查询失败'');
require_once(''XXX.tpl'');
echo"< br> File $ fileName已上传< br>" ;;
}
}
?>
[/ PHP]
i我正在使用这个代码它对小文件非常有效但是当我上传大文件时它会在fopen线附近产生错误.. .can任何一个帮助
[PHP]<?php
mysql_connect("localhost", "XXX", "xxx") OR DIE (mysql_error());
mysql_select_db ("XXX") OR DIE ("Unable to select db".mysql_error());
// our sql query
$str_sql1="select Tnumber from Tenders where Tnumber = ''".$_POST[''Tnumber'']."''";
$res_id1=mysql_query($str_sql1);
$rec_row=mysql_fetch_row($res_id1);
$rows=mysql_num_rows($res_id1);
if($rows > 0){
$msg = "Name already exists!!<br><INPUT Type=\"Button\" Name=\"Back\" Value=\"Back\" onclick=\"history.back()\" class=\"button\">" ;
print $msg;
}else{
?>
<?php
if($_FILES[''userfile''][''size''] < 30000000 )
{
$fileName = $_FILES[''userfile''][''name''];
//echo $fileName;
$tmpName = $_FILES[''userfile''][''tmp_name''];
//echo $tmpName;
$fileSize = $_FILES[''userfile''][''size''];
//echo $fileSize;
$fileType = $_FILES[''userfile''][''type''];
//echo $fileType;
$fp= fopen($tmpName , "rb");
$content = fread($fp, filesize($tmpName));//error for big files
$content = addslashes($content);
/*fclose($fp);*/
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
$date_arr=split(''[/ :]'',$_POST[''Posted'']);
$Posted=$date_arr[2]."-".$date_arr[1]."-".$date_arr[0];
$date_arr1=split(''[/ :]'',$_POST[''Expires'']);
$Expires=$date_arr1[2]."-".$date_arr1[1]."-".$date_arr1[0];
/*
echo $Posted;
echo $Expires;
echo $_POST[''Description''];
echo $_POST[''Type''];
echo $fileName;
*/
mysql_connect("localhost", "XXX", "XXX") OR DIE (mysql_error());
// select the db
mysql_select_db ("XXX") OR DIE ("Unable to select db".mysql_error());
$query = "insert into Tenders(Tnumber,Description,Posted,Expires,Name,Ty pe,Doc) VALUES (''".$_POST[''Tnumber'']."'',''".$_POST[''Description'']." '',''".$Posted."'',''".$Expires."'',''".$fileName."'',''". $_POST[''Type'']."'',''".$content."'')";
mysql_query($query) or die(''Error, query failed'');
require_once(''XXX.tpl'');
echo "<br>File $fileName uploaded<br>";
}
}
?>
[/PHP]
i am using this code it works very well for small files but as i upload big files it gives eror near the fopen line...can any one help on this
推荐答案
str_sql1 ="从招标中选择Tnumber,其中Tnumber =''"。
str_sql1="select Tnumber from Tenders where Tnumber = ''".
_POST [''Tnumber'']。"''" ;;
_POST[''Tnumber'']."''";
res_id1 = mysql_query(
res_id1=mysql_query(
这篇关于上传大文件时出错3.3mb的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!