1

.php拡張子がフォルダーに存在する場合はメールをチェックし、.phpファイルが存在しない場合はメールが表示されないというphpスクリプトを作成しようとしています。

<?php
$directory = "http://server1.bioprotege-inc.net/roleplay_realm_online/contact_us_files/";
if (glob($directory . "*.php") != true) {
echo 'Check Mail:';
}
else {
echo 'No mail Today';
}
?>

私が得たものですが、機能していません.phpファイルがフォルダーにあるかどうかにかかわらず、同じ結果が表示されます

4

2 に答える 2

1

glob() 関数は拡張子付きのファイル名の配列を返すため、true と false でチェックすることはできません。

参照サイトを確認してください:phpのglob関数

そのため、次のコードを使用して確認する必要があります。

<?php
$directory = "http://server1.bioprotege-inc.net/roleplay_realm_online/contact_us_files/";

// Open a known directory, and proceed to read its contents
if (is_dir($directory)) {
    $arr = array();
    if ($dh = opendir($directory)) {
        while (($file = readdir($dh)) !== false) {
            $arr[] = $file;
        }
        $name = implode($arr);
        if(strstr($name,".php")){
             echo "Check Mail:";
        } else {
              echo "No mail Today";
        }
        closedir($dh);
    }
}
?>

これは役に立ちます。そうだといい。

于 2013-02-25T06:06:14.843 に答える
1

リスクを理解した上で、こうすればよい

$dir="core/view/";

if(glob($dir . "*.php")!=null)
    echo " New Mail";
else
    echo "No Mail";

ファイルが 100k 未満の場合は glob を使用できます。そうしないと、XYZ バイトの許容メモリ サイズが使い果たされました ...」というエラーが発生する可能性があります。

その場合、php.ini の設定を変更するか、

readdir()

この方法で readdir() を使用できます

if ($handle = opendir('core/view')) {
    $flg=0;
    while (false !== ($entry = readdir($handle))) {
        if(strcasecmp(pathinfo($entry, PATHINFO_EXTENSION),"php")==0){
        $flg=1;
        break;
    }
}
echo $flg;
closedir($handle);
}
于 2013-02-25T06:06:45.087 に答える