把图片上传到数据库而后显示普通的做法是专门写一个php页面,经过GET或POST办法猎取图片的id、查问数据库、header函数输入图片类型、再echo图片数据就能够了。
成绩概况:
php能够经过表单上传文件到数据库的blob
字段,而后输入,其实更好的做法是把文件保留到效劳器,只正在数据库中记载相干信息就能够了,然而没有是任什么时候候都能照本人的设法主意去做。这没有,我只能上传图片到数据库而后显示正在网页,后果却遇到了成绩:图片无奈显示。
把图片上传到数据库而后显示普通的做法是专门写一个php页面,经过GET
或POST
办法猎取图片的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开发资料 php开发自学 php,数据库,html
抱歉,评论功能暂时关闭!