Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/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
在PHP中,使用file_get_contents&&;文件\u获取\u内容返回不同的值?_Php_String_If Statement_Boolean_File Get Contents - Fatal编程技术网

在PHP中,使用file_get_contents&&;文件\u获取\u内容返回不同的值?

在PHP中,使用file_get_contents&&;文件\u获取\u内容返回不同的值?,php,string,if-statement,boolean,file-get-contents,Php,String,If Statement,Boolean,File Get Contents,我对文件的内容进行了轻度测试。目的是测试2个URL是否确实存在,然后查看它们是否都有特定的字符串 类似于: $check_url1 = "www.example_1.com"; $check_url2 = "www.example_2.com"; if( $view_loaded_url1= @file_get_contents($check_url1)&& $view_loaded_url2= @file_get_contents($check_url2) )

我对
文件的内容进行了轻度测试。目的是测试
2个URL是否确实存在,然后查看它们是否都有特定的
字符串

类似于:

$check_url1 = "www.example_1.com";
$check_url2 = "www.example_2.com";


if( 
$view_loaded_url1= @file_get_contents($check_url1)&&
$view_loaded_url2= @file_get_contents($check_url2)  )                                                            
{

    var_dump($view_loaded_url1); //RETURNS boolean true 

    var_dump($view_loaded_url2); //Returns the Contents of the page i.e: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Str.....etc
if(stristr($view_loaded_url1, 'I am the String') && stristr($view_loaded_url2, 'I am the String') {

//....This part cannot go through because $view_loaded_url1 and $view_loaded_url2 are returning different datatype

}
这是正常行为吗?。。。。还有其他人遇到过这种情况吗

屏幕截图:
文件获取内容
不是检查url是否存在的可靠方法。此函数为每个非2XX http响应返回
false
布尔值


您最好编写自己的函数,通过套接字连接到端口80上的给定url,并分析输出或响应连接超时。您也可以使用cURL。

file\u get\u contents
不是检查url是否存在的可靠方法。此函数为每个非2XX http响应返回
false
布尔值


您最好编写自己的函数,通过套接字连接到端口80上的给定url,并分析输出或响应连接超时。您也可以使用cURL。

file\u get\u contents
从不返回
true
。 如果内容检索失败,则返回文件(或URL)内容或
false

$view\u loaded\u url1
获取值
true
的原因是表达式的计算如下(请参见括号):

解决方案是将操作员分组:

if( 
  ($view_loaded_url1 = @file_get_contents($check_url1)) &&
  ($view_loaded_url2 = @file_get_contents($check_url2))
  )                                                            
{

file\u get\u contents
从不返回
true
。 如果内容检索失败,则返回文件(或URL)内容或
false

$view\u loaded\u url1
获取值
true
的原因是表达式的计算如下(请参见括号):

解决方案是将操作员分组:

if( 
  ($view_loaded_url1 = @file_get_contents($check_url1)) &&
  ($view_loaded_url2 = @file_get_contents($check_url2))
  )                                                            
{


你试过用括号吗?@Phil_1984_u没有。。。。怎么做?你试过用括号吗?@Phil_1984_u_unop。。。。怎么做?用书呆子的话来说,逻辑and(
&&
)比赋值(
=
)更重要。@ErickBest。。。如果至少可以获取一个URL,并且获取的内容是确定的,则为true。。。但我还是加入了小组。。。有趣的是,我以前从来没有试过一次加载两个文档。。。这是第一次,分组后效果很好。。。泰!用书呆子的话来说,逻辑and(
&&
)比赋值(
=
)。@ErickBest。。。如果至少可以获取一个URL,并且获取的内容是确定的,则为true。。。但我还是加入了小组。。。有趣的是,我以前从来没有试过一次加载两个文档。。。这是第一次,分组后效果很好。。。泰!这是真的,我同意你的看法,但这个答案更像是一个注释,没有实现建议的函数示例。@mike很感兴趣!。。。。你能推荐一个比
文件获取内容更好的解决方案吗?(承诺向上投票)你能澄清你所说的“url存在”是什么意思吗?例如,url可以是100%有效的,而服务器端软件可能会指示请求的资源不可用,并在returnuhh?中以404响应?。。。。为什么
服务器端软件会给出404?。。。你能给出一个测试用例场景吗?而
文件获取内容的替代方案是现有url。。。在web浏览器中加载良好且没有问题的url这是真的,我同意你的看法,但这个答案更像是一个注释,没有实现建议的函数示例。@mike很感兴趣!。。。。你能推荐一个比
文件获取内容更好的解决方案吗?(承诺向上投票)你能澄清你所说的“url存在”是什么意思吗?例如,url可以是100%有效的,而服务器端软件可能会指示请求的资源不可用,并在returnuhh?中以404响应?。。。。为什么
服务器端软件会给出404?。。。你能给出一个测试用例场景吗?而
文件获取内容的替代方案是现有url。。。在web浏览器中加载良好且没有问题的url