使用xampp localhost的PHP图像上传问题

时间:2015-07-10 17:13:16

标签: php mysql file-upload xampp localhost

我编写了以下代码将图像上传到数据库中,但是,每次我选择图像并按"上传"我得到的只是"等待localhost"并且浏览器上没有任何内容。我使用xampp作为我的localhost。数据库名称是" votingsystem"插入图像的表是"照片"。

运行这个php文件后,我也无法运行其他php文件,因为他们在浏览器上都表现出同样的问题,他们说"等待本地主机"当试图运行它们时。因此,我必须重新启动文件编辑器并再次运行它。这是一个反复出现的问题。



<?php
/**
 * Created by PhpStorm.
 * User: user1
 * Date: 10-Jul-15
 * Time: 9:19 PM
 */

mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("votingsystem") or die(mysql_error());

if(isset($_POST['Upload']))
{
    $file = $_FILES['image']['tmp_name'];

    if(!isset($file))
    {
        echo "Please select an image.";
    }

    else
    {
        $image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
        $image_name = addslashes($_FILES['image']['name']);
        $image_size = getimagesize($_FILES['image']['tmp_name']);

        if($image_size == FALSE)
        {
            echo "That's not an image";
        }

        else
        {
            $insert = mysql_query("INSERT INTO photo VALUES ('', '999', '$image_name', '$image')");

            if(!$insert)
            {
                echo "Problem uploading image!";
            }

            else
            mysql_query($insert) or die(mysql_error());
        }

    }
}

?>

<!DOCTYPE HTML>
<html>

    <head>
        <title>Image Upload</title>
    </head>

    <link rel="stylesheet" type="text/css" href="image.css">

    <body>

        <form action="image.php" method = "post" enctype="multipart/form-data">

            <input type = "file" name = "image">
            </br>
            <input type = "submit" value = "Upload">

        </form>

    </body>

</html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

http://www.phpro.org/tutorials/Storing-Images-in-MySQL-with-PHP.html 正如@Marc B所说,如果你调用PHP变量$ _FILES,则没有任何意义可以使用addslashes()

答案 1 :(得分:0)

是否有特定的理由尝试将整个图像保存到数据库中?我建议在服务器上考虑将图像保存为文件,而仅保留数据库中的文件名

原因很多,最重要的原因是数据库大小和未触及的性能都有很大的节省。

相反,将整个文件保存在数据库表中可能意味着巨大的数据库大小,从而导致性能显着下降

因此,如果您决定遵循此提议的方法,PHP代码中的流程可能是:

  1. 获取上传的图片
  2. 检查/验证
  3. 将其移至目标文件夹(强烈建议您使用 由于改进了 move_uploaded_file()这个功能 安全)。目标文件夹应该由浏览器显示,即位于您的Web根目录下。
  4. 使用新文件名和相对路径更新数据库表 存储的图像。
  5. 也许这篇快速文章可以帮助你: http://davidwalsh.name/basic-file-uploading-php(我不是作者)。

    希望这有帮助。