无法显示图片,Notice错误

无法显示图片,Notice错误

 Notice: getimagesize(): Read error! in E:fileSystem\fileSys\lib\file.func.php on line 3


代码

function showContents(string $fileName,$allowExt=array('jpg','jpeg','png','gif','bmp','txt','html','php','js','css')){
   if(!is_file($fileName)){
       return '文件不存在';
   }
   $ext = strtolower(pathinfo($fileName,PATHINFO_EXTENSION));
   if(!in_array($ext,$allowExt)){
       return '非法文件类型';
   }
   //检测是否是真实图片
   if(getimagesize($fileName)){
       $res = "<img src='".$fileName."' class='img-responsive' />";
   }else{
       $str = file_get_contents($fileName);
       if(strlen($str)>0){
           $res = highlight_string($str,true);
       }else{
           $res = '文件中没有内容';
       }
   }
   return $res;
}

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕查理 2018-02-13 10:22:21

您好,您的代码是没有问题的,我们测试图片是可以成功的。

http://img1.sycdn.imooc.com//climg/5a824a3b00012fd703340219.jpg

getimagesize()函数在检测到别破坏的图片或者非图片时会报错,这点在官方文档中也有说明。

(If accessing the filename image is impossible getimagesize() will generate an error of level E_WARNING. On read error, getimagesize() will generate an error of level E_NOTICE.)请您检测您上传的是否是一个正确的图片。

  • 提问者 sugm #1
    额,我大概知道什么原因了,,,顺便请教一下编辑的思路是怎样的?
    2018-02-13 14:42:22
  • 好帮手慕查理 回复 提问者 sugm #2
    编辑思路为:点击编辑按钮,同时获取到需要编辑文件的路径,将需要编辑的文件内容展示(展示时的页面可以自定),用户进行编辑,当用户点击确定编辑时,将文本框中内容重新写入文件(一开始获取到的文件路径)。
    2018-02-13 15:09:39
  • 提问者 sugm #3
    您好,请教一下如何让输出的文件内容是可以编辑的状态,使用layer中的组件吗?还是其他别的,layer.open输出的内容是不可编辑的状态
    2018-02-13 17:15:48
imooc_澈 2018-02-12 18:34:07

您好,如果文件是不可用的, getimagesize()就会报读取错误提醒,请检查一下您的文件是否正确,换一个文件试一试。如果解决了您的问题,请采纳,祝学习愉快~

  • 提问者 sugm #1
    这个应该不会的,文件的读取权限都有的,我不仅尝试了jpg还有png都不可以读取 read error!
    2018-02-12 19:58:43
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师