繁体   English   中英

PHP-上传照片

[英]PHP - uploading photos

PHP新手在这里

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

所以我有这两个.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!";
}

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

谁能解释我为什么? 我该如何解决呢?

首先,您必须使用以下表单元素:

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

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

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

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

PHP新手在这里

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

所以我有这两个.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 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM