PHP - 上传照片

时间:2016-10-09 20:23:36

标签: php upload photos

PHP-newbie here

我正在尝试制作一个简单的脚本,将照片上传到我的数据库。 我知道这不是很有效,但无论如何我都想这样做。

所以我有两个.php文件:

<html>
<body>
    <form action="upload.php">
        <input type="file" name="photo">
        <input type="submit" name="submit" value="Submit" />
    </form>
</body>

<?php

error_reporting( error_reporting() & ~E_NOTICE );

$conn = mysqli_connect("localhost", "root", "", "poze");

if(!$conn){
    die("Connection failed: ".mysqli_connect_error());
}
else echo "Succes";

$imageName = mysql_real_escape_string($_FILES["image"]["name"]);
//$imageData = mysql_real_escape_string(file_get_contents($_FILES["image"]["tmp_name"]));
//$imageType = mysql_real_escape_string($_FILES["image"]["type"]);

if($imageName==NULL){
    echo "Null";
}
else{
    echo "The photo is okay!";
}

上传任何类型的图片后,它会回显为空。

可以,有人解释我为什么吗?我怎么能解决它?

2 个答案:

答案 0 :(得分:0)

首先你必须使用这个表单元素:

<form enctype="multipart/form-data" action="upload.php" method="POST">

其次,您必须从临时文件夹中读取文件内容并保存到DB:

$tmpName  = $_FILES['userfile']['tmp_name'];
$fp      = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);

然后将此内容保存到BLOB类型的mysql中的字段。

答案 1 :(得分:0)

PHP-newbie here

我试图制作一个简单的脚本来将照片上传到我的数据库。 我知道它不是很有效,但无论如何我都想这样做。

所以我有两个.php文件:

<html>
<body>
    <form action="upload.php">
        <input type="file" name="photo">
        <input type="submit" name="submit" value="Submit" />
    </form>
</body>

<?php

error_reporting( error_reporting() & ~E_NOTICE );

$conn = mysqli_connect("localhost", "root", "", "poze");

if(!$conn){
    die("Connection failed: ".mysqli_connect_error());
}
else echo "Succes";

$imageName = mysql_real_escape_string($_FILES["image"]["name"]);
//$imageData = mysql_real_escape_string(file_get_contents($_FILES["image"]["tmp_name"]));
//$imageType = mysql_real_escape_string($_FILES["image"]["type"]);

if($imageName==NULL){
    echo "Null";
}
else{
    echo "The photo is okay!";
}

上传任何类型的图片后,它会回显为空。

可以,有人解释我为什么吗?我怎么能解决它?

解决:

我更改了API,因此我只使用mysqli

索引:

<html>
<body>
    <form enctype="multipart/form-data" action="upload.php" method="POST">
        <input type="file" name="photo">
        <input type="submit" name="submit" value="Submit" />
    </form>
</body>

PHP脚本:

<?php

error_reporting( error_reporting() & ~E_NOTICE );

$conn = mysqli_connect("localhost", "root", "", "poze");

if(!$conn){
    die("Connection failed: ".mysqli_connect_error());
}
else echo "Succes"."<br>";

$imageName = mysqli_real_escape_string($conn ,$_FILES["photo"]["name"]);
$imageData = mysqli_real_escape_string($conn, file_get_contents($_FILES["photo"]["tmp_name"]));
$imageType = mysqli_real_escape_string($conn, $_FILES["photo"]["type"]);

//process the image ...