我之前發佈了這個問題,但我現在已經使用了反饋並簡化了php程序以顯示它仍然失敗。 使用file_exists使用數組總是失敗: 下面是一個簡單的程序,我寫的,顯示了失敗:php file_exists不適用於數組
[[email protected] steve]# ls -l data
total 4 -rw-r--r-- 1 root root 0 Sep 19 11:41 test_file
[[email protected] steve]# cat test_file.php
`#!/usr/bin/php -q
<?php
$i=1;
$testarray=array();
$testarray[$i]="test_file";
echo "testarray $testarray[$i]\n";
**if(file_exists("/home/steve/data/testarray[$i]")) {**
echo "file exists\n"; }
else { echo "file does not exist\n"; } `
[[email protected] steve]# php -q test_file.php
testarray test_file
file does not exist
[[email protected] steve]#
我用周圍的目錄和文件名的雙引號作爲較早提出 ,它仍然是不加工。
謝謝大家的評論。這裏有一個簡單的程序,任何人都可以嘗試,你會得到我得到的結果。每個/ etc/hosts文件都有一個用於ip 127.0.0.1的「localhost」條目。嘗試在IP上填充數組grepping。 file_exists不起作用。然後努力編碼並查看結果。爲什麼當我使用一個返回相同值的命令來排列數組時,file_exists不起作用。請嘗試以下操作,並在每個任務中不加註釋。 – user1683269
#!/ 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(「/ home/steve/data/$ hostname [$ i]」)){ echo「不做任何應用服務器文件存在\ n」; } else { echo「沒有文件存在創建一個\ n」; $ touch ='touch/home/steve/data/$ hostname [$ i]'; } ?> – user1683269