私はファイルハッシングのクラスを作成していますが、最初は固まってしまいました。is_file()とis_dir()がうまくいきません
class fileHashing
{
private $start_path = '../../../test';
private $log_path = '../../../test/log';
private $log_file = 'fileHash.xyz';
function __construct()
{
$this->open();
}
private function open() {
$files_list = scandir($this->start_path);
print_r($files_list);
date_default_timezone_set('Europe/Rome');
foreach ($files_list as $key => $element) {
if (is_file($element)) {
echo "FILE: " . $element . PHP_EOL;
} elseif (is_dir($element)) {
echo "DIR: " . $element . PHP_EOL;
} else {
echo "NONE: " . $element . PHP_EOL;
}
}
}
}
$a = new fileHashing();
戻り値:
Array
(
[0] => .
[1] => ..
[2] => fileupload.php
[3] => log
[4] => test1.php
[5] => tsconfig.json
)
DIR: .
DIR: ..
FILE: fileupload.php
NONE: log
NONE: test1.php
NONE: tsconfig.json
log
がフォルダであり、それはそれとして認識されていないとの両方test1.php
とtsconfig.json
がファイルとして認識されていません。 scandir()
/is_file()
/is_dir()
について不明な点がありますか?
多分あなたは '$ this-> start_pathを使うべきです。 '/'。 'is_dir'と' is_file'のための$ element' – Philipp
これらのファイルをシンボリックリンクにすることはできますか? 'is_link()'を試してください – rickdenhaan
@Philipp私は関数について何か不足していることを知っています。私はファイル名が十分であるように '.ext => file'' no ext => folder'を区別するファイル名を解析します。フィリップスに感謝します。ファイル/ディレクトリを分析する方法を教えてください。スラッシュ '/'をチェックしていますか? – Brigo