用命令填充的php数组与具有相同值的硬编码数组的评估不相同

时间:2012-09-19 20:29:19

标签: php

这是此类型的第三个帖子,现在我可以谈谈正在发生的事情。 这是任何人都可以尝试的代码。 使用grep命令使用名称localhost填充数组主机名,然后使用file_exists进行评估时,它不起作用。

如果将localhost分配给数组,然后使用file_exists进行评估,则可以正常工作。我之前有2篇帖子,认为问题出在“file_exists”上,但事实证明并非如此。 请使用下面的代码尝试两次以下代码。

它将创建/ tmp / localhost文件。然后再次运行它,它将找不到该文件。 使用分配给数组的localhost再次尝试它并且它可以工作。

为什么某些原因的价值会有所不同,即使它是相同的?

#!/usr/bin/php -q
<?php

$i = 1;
$hostname = array();
$hostname[$i] = `grep 127.0.0.1 /etc/hosts |awk '{print $3}'`;

// hostname[$i]="localhost";
echo "hostname[$i] = $hostname[$i]\n";
if (file_exists("/tmp/$hostname[$i]")) {
    echo "do nothing file exists\n";
} else {
    echo "No file exists create one\n";
    $touch = `touch /tmp/$hostname[$i]`;
}

0 个答案:

没有答案