【发布时间】:2015-11-29 21:17:56
【问题描述】:
我正在创建一个具有上传功能的在线画廊。我使用 PHP 上传图像并将其存储在 mysql 数据库中。似乎它不允许我上传超过 64KB 的文件。
以下是我的 HTML 代码
<form action="upload.php" method="POST" enctype="multipart/form-data">
<label>File: </label>
<input type="file" name="image" />
<input type="submit" value="upload" name="submit"/>
</form>
上传.php代码
<?php
//file properties
if(isset($_POST['submit']))
{
if(getimagesize($_FILES['image']['tmp_name']) == FALSE)
{
echo "Please select an image";
}
else
{
$image = addslashes($_FILES['image']['tmp_name']);
$name = addslashes($_FILES['image']['name']);
$image = file_get_contents($image);
$image = base64_encode($image);
saveimage($name,$image);
}
}
displayimage();
function saveimage($name,$image){
$con=mysql_connect("localhost","root","admin");
mysql_select_db("brandon",$con);
$qry = "insert into store(name,image) values('$name','$image')";
$result = mysql_query($qry,$con);
if($result){
echo "<br/> Image uploaded";
}else{
echo "<br/> Image not uploaded";
}
}
//display image
function displayimage()
{
$con=mysql_connect("localhost","root","admin");
mysql_select_db("brandon",$con);
$qry="select * from store";
$result=mysql_query($qry,$con);
while($row = mysql_fetch_array($result))
{
echo '<img height="300" width="300" src="data:image;base64,'.$row[2].' "> ';
}
mysql_close($con);
}
在我的数据库中,我设置了一个包含 3 列(id、name、image)的表。 ID 是自动增量和主要的。名称是 TEXT,图片是 LONGBLOB。
我正在使用 PHPstorm 和 PHP 5.6.3 版本。 Xampp 版本是 3.2.1。其他人建议在php.ini 上增加upload_max_limit,但这对我不起作用。我已将其更改为如下
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize=128M
; Maximum size of POST data that PHP will accept.
post_max_size=128M
max_memory 设置为 128M 和 60s 超时。
如果我上传一个小图像文件一切顺利,但如果我上传一个大图像文件,它会如下所示
- 将我带到一个空白页面(回显功能未执行,但显示以前上传的图像)
- 当我尝试访问另一个 php 文件时,它会无休止地加载。(它说在谷歌浏览器的左下角等待 localhost)
- 当我尝试访问另一个 php 文件时,它显示“502 bad gateway”
请提前帮助和感谢
编辑 1:调试器、apache 和 mysql 错误日志显示没有错误。我重新启动了 XAMPP、PHPStorm 和我的 Chrome 浏览器,以使其再次进入工作状态(这允许我上传小图像文件并执行 php 文件,而不是无休止的加载和 502 错误网关)
编辑 2:已解决!我尝试从 localhost 启动它,而不是从 PHPStorm 自动启动。它工作得很好。
【问题讨论】:
标签: php html mysql image file-upload