最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

php上传图片无法显示的问题

来源:动视网 责编:小采 时间:2020-11-02 18:47:27
文档

php上传图片无法显示的问题

php上传图片无法显示的问题:把图片上传到数据库然后显示一般的做法是专门写一个php页面,通过GET或POST方法获取图片的id、查询数据库、header函数输出图片类型、再echo图片数据就可以了。问题详情: php可以通过表单上传文件到数据库的blob字段,然后输出,其实更好的做法是把文件保存到
推荐度:
导读php上传图片无法显示的问题:把图片上传到数据库然后显示一般的做法是专门写一个php页面,通过GET或POST方法获取图片的id、查询数据库、header函数输出图片类型、再echo图片数据就可以了。问题详情: php可以通过表单上传文件到数据库的blob字段,然后输出,其实更好的做法是把文件保存到


问题详情:

php可以通过表单上传文件到数据库的blob字段,然后输出,其实更好的做法是把文件保存到服务器,只在数据库中记录相关信息就可以了,但是不是任何时候都能照自己的想法去做。这不,我只能上传图片到数据库然后显示在网页,结果却遇到了问题:图片无法显示。

把图片上传到数据库然后显示一般的做法是专门写一个php页面,通过GETPOST方法获取图片的id、查询数据库、header函数输出图片类型、再echo图片数据就可以了,这个方法是没有问题的,可是我却出了问题,图片总是无法显示。

在网上查询了很多资料,试了很多方法,都不行,最后在stack overflow上看到一个回答,由于是英文就不原句引用了,内容是header这个函数有些特殊,要小心不要在header位置前有其他的header或别的什么内容,结果就是这个问题,由于我写了一个php文件包含了一些通用函数,其中也有javascript的函数,我在输出图片的php文件把require语句去掉就行了,图片就能够输出了。

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="html/text;charset=utf-8"/>
</head>
<body>
<form action="#" name="form" method="post" enctype="multipart/form-data">
<p>
<input type="file" name="img" value="选择上传文件"/>
</p>
<input type="submit" value="上传"/>
</form>
</body>
</html>
<?php
date_default_timezone_set("PRC"); //设置时区
if(count($_FILES)>0){ 
$sort = array("image/jpeg","image/jpg","image/gif","image/pdg");
//判断是否是图片类型
if(in_array($_FILES['img']['type'],$sort)){ 
 $img = "img"; //获取上传到的文件夹位置
//判断文件夹是否存在 ,如果不存在创建一个
if(!file_exists($img)){
 mkdir("$img",0700); //0700最高权限
}
$time=date("Y_m_d_H_i_s"); //获取当前时间
$file_name = explode(".",$_FILES['img']['name']); //$_FILES['img']['name'] 上传文件的名称 explode字符串打断转字符串
$file_name[0]=$time; 
$name = implode(".",$file_name); //implode 把数组拼接成字符串
$img_name = "img/".$name;
if(move_uploaded_file($_FILES['img']['tmp_name'],$img_name)){ //move_uploaded_file 移动文件
 echo "<center><img style='width:1000px;' src='$img_name'>
 <p>
 <a href='img_uploading.php'>重新上传</a></p></center>";
}else{
 echo "上传失败"; 
}
}else{ 
echo "不是图片类型";
}
}
?>

不得不说编程有时候是件很让人头疼的事,仅仅因为一个语句,却花了我一天时间去尝试各种方法;可是编程又是件有意思的事,因为在解决了问题,程序成功运行的时刻,那种成就感、满足感真的让人难以忘怀。

更多学习教程:PHP 图片上传教程

文档

php上传图片无法显示的问题

php上传图片无法显示的问题:把图片上传到数据库然后显示一般的做法是专门写一个php页面,通过GET或POST方法获取图片的id、查询数据库、header函数输出图片类型、再echo图片数据就可以了。问题详情: php可以通过表单上传文件到数据库的blob字段,然后输出,其实更好的做法是把文件保存到
推荐度:
标签: 图片 显示 上传
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top