在php.ini上更改upload_max_filesize后,PHP文件上传大小有限

时间:2015-09-03 21:32:35

标签: php html mysql image file-upload

我正在创建一个带上传功能的在线图库。我使用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>

upload.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。

我在PHP版本5.6.3中使用PHPstorm。 Xampp版本是3.2.1。其他人建议增加upload_max_limit php.ini,但它不适合我。我已将其更改为以下

; 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文件时,它无休止地加载。(它表示等待google chrome左下角的localhost)
  • 当我尝试访问另一个php文件时,它显示'502 bad gateway'

请提前帮助和谢谢

编辑1:调试器,apache和mysql错误日志显示没有错误。我重新启动XAMPP,PHPStorm和我的Chrome浏览器,以便再次进入工作状态(这允许我上传小图像文件并执行php文件,而不是无休止的加载和502坏网关)

编辑2:解决了!我尝试从localhost启动它而不是PHPStorm的自动启动。它运作得很好。

1 个答案:

答案 0 :(得分:0)

更改php.ini文件后,您重启了Xampp吗?直到发生这种情况才会生效。 另外,请检查有关错误网关错误的PHP和Apache错误日志,这可能会为您提供有关正在发生的更多详细信息。