php判断远程文件是否存在
php判断本地文件是否存在可以简单的使用is_file就可以实现。但是在部分情况下会检测远程文件是否存在,实现方式如下
1、可以使用fsocketopen,通过返回的状态码判断
2、使用curl,通过通过返回的状态码判断
3、可以直接通过get_headers的方法来判断状态码
以上方法是在远程url没有重定向的前提下,如果有重定向通过以下方法可以实现
<?php $url = ‘http://www.baidu.com/link?url=77I2GJqjJ4zBBpC8yDF8xDhiqDSn1JZjFWsHhEoSNd85PkV8Xil-rckpQ8_kjGKNNq‘; function fileExists($url){ stream_context_set_default( array( ‘http‘ => array( ‘timeout‘ => 5, ) ) ); $header = get_headers($url,1); if(strpos($header[0],‘200‘)){ return true; } if(strpos($header[0],‘404‘)){ return false; } if (strpos($header[0],‘301‘) || strpos($header[0],‘302‘)) { if(is_array($header[‘Location‘])) { $redirectUrl = $header[‘Location‘][count($header[‘Location‘])-1]; }else{ $redirectUrl = $header[‘Location‘]; } return fileExists($redirectUrl); } } var_dump(fileExists($url));
相关推荐
zyyjay 2020-11-09
xuebingnan 2020-11-05
samtrue 2020-11-22
stefan0 2020-11-22
yifangs 2020-10-13
songshijiazuaa 2020-09-24
hebiwtc 2020-09-18
天步 2020-09-17
83911535 2020-11-13
whatsyourname 2020-11-13
zhouyuqi 2020-11-10
Noneyes 2020-11-10
mathchao 2020-10-28
王志龙 2020-10-28
wwwsurfphpseocom 2020-10-28
diskingchuan 2020-10-23
savorTheFlavor 2020-10-23