[英]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.