Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在“允许url\U fopen=off”的情况下检查远程服务器上是否存在映像_Php_Remote Access_File Exists - Fatal编程技术网

Php 在“允许url\U fopen=off”的情况下检查远程服务器上是否存在映像

Php 在“允许url\U fopen=off”的情况下检查远程服务器上是否存在映像,php,remote-access,file-exists,Php,Remote Access,File Exists,我在一个网站上工作,该网站正在从cdn服务器获取图像,该服务器已关闭allow_url_fopen in意味着allow_url_fopen=off 问题是,在主站点中显示映像之前,我们必须检查cdn服务器中是否存在映像。如果图像存在,那么我们将显示它,否则不会 文件“”存在,并且文件“”获取“”内容将无法正常工作,因为它们需要启用allow\u url\u fopen=on 还有其他方法吗 任何帮助都将不胜感激 谢谢您可以使用cUrl: $curl = curl_init($url); cur

我在一个网站上工作,该网站正在从cdn服务器获取图像,该服务器已关闭allow_url_fopen in意味着allow_url_fopen=off

问题是,在主站点中显示映像之前,我们必须检查cdn服务器中是否存在映像。如果图像存在,那么我们将显示它,否则不会

文件“”存在,并且文件“”获取“”内容将无法正常工作,因为它们需要启用allow\u url\u fopen=on

还有其他方法吗

任何帮助都将不胜感激


谢谢

您可以使用
cUrl

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
if(empty($result)){die('No image');}

您可以使用CURL库通过HTTP方法获取文件。如果使用该选项,如果文件存在,状态代码将为success,否则将返回not found状态代码。另一个选项是使用套接字库函数(如fsockopen)连接到该服务器,并通过FTP访问文件(如果已启用)

通读给出的例子
http://php.net/manual/en/function.fsockopen.php

,另一种选择是检查旋度是否可用。如果不是,您必须尝试中给出的任何解决方案。您是否有cURL访问权限?这可能是一种不正确的方法,因为cURL结果可能包含指向的http头,因此最好检查http头的状态代码。请查看
cURL\u exec
返回的头。正如我所知,对于头文件,您需要添加
curl\u setopt($ch,CURLOPT\u HTTPHEADER,$headers)