我尝试用php建立一个上传图片系统。经过测试,系统回声“图像已上传”,但在数据库中没有显示。这是我的密码
upload.php
<?php
//connect database
include('config.php');
//file properties
if(isset($_FILES['image'])){
$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 "This is not an image";
}
else{
$insert = "INSERT INTO image(name,picture) VALUES ('$image_name','$image')";
if(!$insert){
echo "Problem uploading";
}
else {
$lastid =mysqli_insert_id($con);
echo "Image Uploaded <p />Your Image :<p /><img src=get.php?id=$lastid>";
}
}
}
?>
get.php
<?php
include ('config.php');
$id = addslashes($_REQUEST['id']);
$image = mysqli_query($con ,"SELECT * FROM image WHERE id=$id");
$image = mysqli_fetch_assoc($image);
$image = $image['picture'];
header("Content-type :image/jpeg");
?>
我点击了提交按钮,没有选择任何文件,这2行警告显示出来
警告:file_get_contents():upload.php第14行中的文件名不能为空。
line14是这个$Image=addslash(file_get_contents($_FILES['Image']['tmp_name']);
警告:getimagesize():upload.php第16行中的文件名不能为空。
第16行是$image=addslashes(file_get_contents($_FILES['image']['tmp_name']);
你知道吗?
在第16行之后,您需要回显图像数据。
回波图像;
@ken,这里有一个函数,我用它来通过设置正确的标题来输出图像:
function output_headers($filetype, $imgsize, $filename, $attachment=false)
{
header("Content-Type: {$filetype}");
header("Pragma: public");
header("Cache-Control: public");
header("Cache-Control: must-revalidate");
$offset = 60 * 60 * 24 * 4 -1;
$ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
header($ExpStr);
header("Cache-Control: max-age=$offset");
//header("Content-Type: application/octet-stream");
header('Accept-Ranges: bytes');
header("Content-Length: $imgsize");
#insert the filename we want into the image so it can be saved with something
# more meaningful that showimg.jpg. :-)
# 04/03/06
#attachment causes save as to appear, inline serves imbedded image.
if ($attachment)
header('Content-Disposition: attachment; filename="' . $filename . '"');
else
header('Content-Disposition: inline; filename="' . $filename . '"');
}
这是名为showimg.php.jpg的php文件的一部分
这需要与以下.htaccess文件一起保存到一个单独的目录中,以使php处理对.jpgs的请求:
AddType application/x-httpd-php .jpg
这样,网页引用图像
问候史蒂夫
您需要一个函数来发送查询,否则您只需填写一个字符串:
$insert = "INSERT INTO image(name,picture) VALUES ('$image_name','$image')";
其次是:
mysqli_query($con, $insert);
这些警告是由代码的多个问题引起的。首先,您要检查文件是否以错误的方式上载:这是
if(isset($_FILES['image'])){
$file = $_FILES['image']['tmp_name'];
}
将始终设置一个$file
变量,即使表单中没有选择文件,因此永远不会执行if语句:
if(!isset($file)){
echo "Please select an image";
}
而是始终执行else块中的内容,这会导致错误,因为您提到的包含在else块中的函数无法对任何文件进行操作。
因此,只需正确检查文件上传即可解决问题:一种方法是首先删除该文件,这是无用的
if(isset($_FILES['image'])){
$file = $_FILES['image']['tmp_name'];
}
然后改变这个:
if(!isset($file)){
echo "Please select an image";
}
对此:
if(!isset($_FILES['image']['tmp_name'])){
echo "Please select an image";
}
问题内容: 我想将图像的下载URL放入Firebase数据库中。我可以将图像上传到存储中,但无法弄清楚如何将URL与其余的“帖子”一起放入数据库。 问题答案: 像这样组织您和func: 接下来,只需连接并保存到您的节点即可。 您也可以查看我有关上传数据并将URL保存到数据库的答案 希望能帮助到你
我正在使用一个Vaadin上传组件,到目前为止,我已经成功地将一个图像上传到一个目录,并在成功上传后在面板组件中显示它。在这之后,我想做的是把它也插入到数据库中。我有一个名为Show的表,它有一个名称、日期和图像。在Show类中,我尝试将图像作为字节数组或Blob。 在上传成功的方法中,我想将文件转换为字节数组,到目前为止我已经尝试过了: 我也试过: uIP它实际上是我的上传ImagePresen
问题内容: 我正在尝试上传图片以及添加细节,例如;标题,描述和文件路径到数据库表中。 我正在使用以下代码,但未将任何数据添加到数据库中; (session.php include包含数据库连接。) 表单代码; 我想知道是否有人可以告诉我可能出了什么问题? 谢谢你。 问题答案: 由于存在几个问题,此代码无法正常工作。 首先,您应在检查上传时重命名html字段之一或更改字段名称: 或者 第二,此脚本不
如何从Android客户端上传图像到GAE(Google App Engine)数据存储? 尚未找到教程,已尝试了7天。
我正在尝试上传图像到firebase,以及其他字符串和双数据类型。 我现在正在考虑两个选项,一个是上载imageUrl到firebase实时数据库,当我检索它时,我将检索一个imageUrl并将其转换为图像。 谢谢你的帮助!我很感激。
我从Firebase存储中获取图像,用相机拍照,或者从图书馆中挑选一张。当其中一个完成时,我有一个类来存储,以便在需要时使用它。 现在我需要将此图像上传到Firebase存储(修改或新建,无所谓)。Firebase允许我使用以下选项之一:或,每个选项分别需要或。 我怎么能把我的,并从它获得一个或用于上传? -- 或者,为了解决这个问题,当我从Firebase存储中检索图像时,如何获取图像的? 无论