2013-10-23 48 views
0

我在尝试上传大图时出错。我是新的PHP,请指导我或给我一个更好的方式来编码。上传大图时出错

我得到了这些错误消息

Warning: mysql_query(): MySQL server has gone away in C:\xampp\htdocs\testing\test.php on line 63 

Warning: mysql_query(): Error reading result set's header in C:\xampp\htdocs\testing\test.php on line 63 

问题uploding图像。请检查您的数据库

这里是我的代码

<?php 

//connect to the database// 
$con = mysql_connect("localhost","root", "root"); 
if(!$con) 
{ 
die('Could not connect to the database:' . mysql_error()); 
echo "ERROR IN CONNECTION"; 
} 

$sel = mysql_select_db("forms1"); 
if(!$sel) 
{ 
die('Could not connect to the database:' . mysql_error()); 
echo "ERROR IN CONNECTION"; 
} 
//file properties// 

$file = $_FILES['image']['tmp_name']; 

$upload=0; 

*/for($count = 0; $count < count($_FILES['image']); $count++) 
{ 
if(!empty($_FILES['image']['name'][$count])){ 
    $image_desc[$count] = addslashes($_POST['imageDescription'][$count]); 
    $image_name[$count] = addslashes($_FILES['image']['name'][$count]); echo '<br \>'; 
    $image_size[$count] = @getimagesize($_FILES['image']['tmp_name'][$count]); 
    $error[$count] = $_FILES['image']['error'][$count]; 

    if($image_size[$count] === FALSE || ($image_size[$count]) == 0) 
     echo "That's not an image"; 

    $upload++; 
    echo $upload; 

// Temporary file name stored on the server 
    $tmpName[$count] = $_FILES['image']['tmp_name'][$count]; 

// Read the file 
    $fp[$count] = fopen($tmpName[$count], 'r'); 
    $data[$count] = fread($fp[$count], filesize($tmpName[$count])); 
    $data[$count] = addslashes($data[$count]); 
    fclose($fp[$count]); 


// Create the query and insert into database. 
$results = mysql_query("INSERT INTO files(name, image) VALUES('$image_desc[$count]','$data[$count]')", $con); 

    if(!$results) 
    echo "Problem uploding the image. Please check your database"; 
} 

?> 
+0

只是我的两分钱:请不要使用mysql_ *函数。它们不再受支持,最终将从PHP中删除。阅读关于MySQLi或PDO。关于上传,别人会提供一个很好的答案! –

+0

你的形象究竟有多大? – mvp

+0

@mvp 2MB左右 – alvin890101

回答

0

如果你是在本地服务器上的工作,你必须改变你的php.ini文件

这里有来自步骤: http://alex-lanos.blogspot.com/2012/09/xampp-apache-php-how-to-increase-upload.html

在public_html下创建一个文件并将其命名为php.ini(如果还没有的话)。将以下内容添加进去: upload_max_filesize = 5M post_max_size = 5M 将20替换为20或更少。如果您要让其他人上传,大小上限可以保护您的存储空间免遭滥用/过度使用。 然后您需要将此行添加到.htaccess文件中:(请用您的cPanel用户名替换“yourusername”,并添加到命令行的末尾,将文件夹添加到php.ini文件的位置 - 路径和/ home之间也有空格) suPHP_ConfigPath/home/Yourusername/public_html 现在您的PHP上传限制应该增加。

+0

仍然无法解决它。 – alvin890101

+0

可能有多个文件夹与php.ini文件确保你改变他们所有人。 –