У меня проблемы с использованием переменной для имени каталога в этом выражении PHP if
:
if (($handle = opendir("news"))) {
// Read all file from the actual directory
while ($file = readdir($handle)) {
if (!is_dir($file)) {
$fileList[] = $file;
}
}
}
Когда я использую переменную ($newsDir
) вместо строкового литерала для каталогаname ("news"
), скрипт перестает работать.
$newsDir = $_SERVER[DOCUMENT_ROOT] . "edit/news";
var_dump(file_exists($newsDir));
// bool(true)
var_dump(is_dir($newsDir));
// bool(true)
var_dump($newsDir);
// string(36) "/f5/jb-cms-testing/public//edit/news"
if (($handle = opendir($newsDir))) {
// Read all file from the actual directory
while ($file = readdir($handle)) {
if (!is_dir($file)) {
$fileList[] = $file;
}
}
}
Он не выдает никаких ошибок, функция просто не работает должным образом.Сначала я думал, что это потому, что моя переменная $newsDir
равна $_SERVER[DOCUMENT_ROOT] . "edit/news"
, но даже если я установлю $newsDir
на "news"
, она не будет работать.Насколько я могу судить, это связано с тем, что я использую переменную.
Есть идеи, почему?Кроме того, это единственное место и единственный файл, который появляется $handle
, поэтому я не уверен, почему он вообще работает.Это было некоторое время назад, когда я построил это, и я использовал учебник, поэтому я не уверен, как именно это работает.Это просто способ сортировки файлов в каталоге news
.