发布网友 发布时间:2022-04-29 08:19
共3个回答
懂视网 时间:2022-04-29 12:40
在我们日常的开发中,经常需要用到判断图片是否存在,存在则显示,不存在则显示默认图片,那么我们用到的判断有哪些呢?今天我们就来看下几个常用的方法。yii2中使用php判断图片是否存在
1、file_exists()函数
file_exists() 函数检查文件或目录是否存在。
如果指定的文件或目录存在则返回 true,否则返回 false。
eg: file_exists(path);其中的参数path必须是路径,不能是url不然会一直返回false;
注意:
1、文件的任何上级目录,只有写权限时报文件不存在;
2、文件的任何上级目录,只有读权限时也报文件不存在;
3、而当所有上级目录都有执行权限的时候,报文件是存在的,一切都正常。
说明file_exists()在判断文件是否存在的时候是递归判断每个目录是不是有执行权限。
2、file_get_contents()函数
file_get_contents — 将整个文件读入一个字符串
如果失败,file_get_contents() 将返回 FALSE。
果要打开有特殊字符的 URL (比如说有空格),就需要使用 urlencode() 进行 URL 编码。
但是此函数如果请求比较多,文件比较大,那么可能会超时未响应,导致服务器挂掉
要设置file_get_contents函数的超时时间,可以用resource $context的timeout参数,代码如下:
$opts = array( 'http'=>array( 'method'=>"GET", 'timeout'=>10, ) ); $context = stream_context_create($opts); $html =file_get_contents('http://www.example.com', false, $context); echo $html;
3、curl方法
实现的功能:
1、实现远程获取和采集内容
2、实现PHP 网页版的FTP上传下载
3、实现模拟登陆:去一个邮件系统,curl可以模拟cookies
4、实现接口对接(API),数据传输等:通过一个平台发送短信啊,抓取和传递所传输的信息。
5、实现模拟Cookie等:登陆的状态下才可以操作一些属性。
如何使用CURL功能:
默认情况加PHP是不支持CURL的,需要在php.ini中开启该功能
;extension=php_curl.dll前面的分号去掉
1 整个操作过程中第一步是用curl_init()函数进行初始化
2.用curl_setopt()函数进行设置选项。
3.设置后,进行执行事务 curl_exec($curl);
4 最后关闭curl_close();
兼容get和post方法的curl;
function curl($url, $type = 'get', $post_data = null, $second = 30) { $ch = curl_init(); //设置超时 curl_setopt($ch, CURLOPT_TIMEOUT, $second); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // //设置header curl_setopt($ch, CURLOPT_HEADER, false); //要求结果为字符串且输出到屏幕上 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); if ('post' == $type) { curl_setopt($ch, CURLOPT_POST, 1); //开启POST curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); //POST数据 } $output = curl_exec($ch); curl_close($ch); return $output; //返回或者显示结果 }
相关文章教程推荐:yii教程
热心网友 时间:2022-04-29 09:48
你上传图片肯定有个规则吧,比如上传到那个目录,以什么方式命名,你显示图片的时候去找你上传的这个目录,加下判断,如果图片存在,那就显示,否则不显示热心网友 时间:2022-04-29 11:06
file_exists()就是判断文件是否存在的。