2

ディレクトリが存在するにもかかわらず、このエラーが発生するのはなぜですか? 親ディレクトリをターゲットにすると正常に動作し、スペースの代わりに %20 も使用してみました。また、最後の / を削除しようとしましたが、何も動作しません!

警告: opendir(/home/xxxx/user_files/users/xxxx/test directory/) [function.opendir]: dir を開けませんでした: No such file or directory in /home/xxxx/public_html/beta/stream._pages/file ._list._i.php 54 行目

(注: xxxxは私がユーザー名を検閲しているだけです)

4

2 に答える 2

0

public_html フォルダーの外にあるフォルダーを見つけようとしている人向け。

opendir()このコードは、関数用に php.net によって提供されます。

if ( $handle = opendir('../../../../') )
{
    echo "Directory handle: $handle\n";
    echo "Entries:\n";

    /* This is the correct way to loop over the directory. */
    while ( false !== ( $entry = readdir( $handle ) ) )
    {
        echo "$entry\n";
    }

    /* This is the WRONG way to loop over the directory. */
    while ($entry = readdir($handle))
    {
        echo "$entry\n";
    }

    closedir( $handle );
}

解決

必要なフォルダーに移動するまで、できるだけ多くの ../ を追加して$handleどこまで戻ることができるかを調べ始めました。'../'そこからあなたが取ると思います。

私にとって'../../../../'はそこにたどり着くのに十分でしたが、サーバーごとに異なります。

于 2016-05-30T09:24:31.887 に答える
0

test.php というファイルを作成し、テスト ディレクトリに配置します。そのファイルに、次のコードを入れます。

<? echo dirname(__FILE__);?>

次に、Web ブラウザーで test directory/test.php にアクセスし、test.php で指定されたパスをコピーして貼り付け、opendir でその正確なパスを使用してみてください。

別の問題として、ディレクトリのパーミッションが正しくない可能性があります。777 への chmodding を試してください。

于 2012-04-30T02:22:41.273 に答える