0

以前にこの質問を投稿しましたが、フィードバックを使用してphpプログラムを単純化し、まだ失敗する方法を示しました。配列で file_exists を使用すると、常に失敗します。失敗を示す、私が書いた簡単なプログラムを次に示します。

[root@dsmpp1 steve]# ls -l data
 total 4 -rw-r--r-- 1 root root 0 Sep 19 11:41 test_file 
[root@dsmpp1 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"; } `    
[root@dsmpp1 steve]# php -q test_file.php 
testarray test_file 
file does not exist 
[root@dsmpp1 steve]#

以前に提案したように、ディレクトリとファイル名を二重引用符で囲みましたが、まだ機能していません。

4

3 に答える 3

1

そうではありませんか:

$testarray[$i]="test_file.php";

それ以外の:

$testarray[$i]="test_file";
于 2012-09-19T16:02:38.597 に答える
1

try

if(file_exists("/home/steve/data/{$testarray[$i]}")) {**

You were missing the $ before testarray

You might also need to wrap this in brackets because you are using two variables. so use {$testarray[$i]}

于 2012-09-19T16:03:29.973 に答える
0

$if 句に before testarrayがありません。これを試して:

if(file_exists("/home/steve/data/".$testarray[$i])) {
于 2012-09-19T16:03:40.797 に答える