Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用PHP扫描目录并在JavaScript中使用结果_Php_Javascript_Jquery_Scandir - Fatal编程技术网

用PHP扫描目录并在JavaScript中使用结果

用PHP扫描目录并在JavaScript中使用结果,php,javascript,jquery,scandir,Php,Javascript,Jquery,Scandir,我用PHP扫描一个目录,其中只包括文件夹: $folders = scandir('gallery'); 现在我想检查javascript中的字符串是否存在于该目录中的文件夹中 if(theString == allTheFolders){ alert('yay'); } 现在,$folders是一个包含字符串的数组。要获取所有字符串,我使用foreach循环并忽略'.&'..'目录。但是我怎样才能在if循环中获得所有这些文件夹呢? 希望你能理解我的问题 将数组作为JSON回显到J

我用PHP扫描一个目录,其中只包括文件夹:

$folders = scandir('gallery');
现在我想检查javascript中的字符串是否存在于该目录中的文件夹中

if(theString == allTheFolders){
     alert('yay');
}
现在,
$folders
是一个包含字符串的数组。要获取所有字符串,我使用foreach循环并忽略
'.&'..'
目录。但是我怎样才能在if循环中获得所有这些文件夹呢?
希望你能理解我的问题

将数组作为JSON回显到JavaScript中

echo 'var folders = ', json_encode($folders);
然后可以直接在JavaScript中循环或执行任何需要的操作

echo 'var folders = ', json_encode($folders);

编辑:现在您已经发布了实际问题。。。在JavaScript中执行此操作:

var wantedFolder = 'something';
var wantedFolderFound = false;
for (folderIndex in folders) {
    if (folders[folderIndex] === wantedFolder) {
        wantedFolderFound = true;
    }
}
if (wantedFolderFound) {
    alert('Folder found!');
} else {
    alert('Folder not found.');
}

或者,我可能会使用
Array.indexOf()
。它并非在所有浏览器中都可用,但这个问题很容易解决。请参阅文档:

将数组作为JSON回显到JavaScript中

echo 'var folders = ', json_encode($folders);
然后可以直接在JavaScript中循环或执行任何需要的操作

echo 'var folders = ', json_encode($folders);

编辑:现在您已经发布了实际问题。。。在JavaScript中执行此操作:

var wantedFolder = 'something';
var wantedFolderFound = false;
for (folderIndex in folders) {
    if (folders[folderIndex] === wantedFolder) {
        wantedFolderFound = true;
    }
}
if (wantedFolderFound) {
    alert('Folder found!');
} else {
    alert('Folder not found.');
}


或者,我可能会使用
Array.indexOf()
。它并非在所有浏览器中都可用,但这个问题很容易解决。请参阅文档:

您无法将字符串与PHP数组进行比较!您只能将字符串与一个文件夹进行比较@凯伦:嗯,是的,我知道。这就是我的问题所有文件夹的停留时间用于将字符串与找到的所有文件夹进行比较…客户端可以看到JS,因此我不知道安全性对您是否意味着一个好的del,但向可能的攻击者显示您的完整文件夹结构对我来说似乎不是一个好主意…@11684:
gallery
的文件夹结构可能不是安全必需的;)@11684:我使用上载创建新文件夹。所以我不想在每一张新专辑中都编辑我的javascript。所以我只想扫描gallery文件夹以获取所有相册:)您不能将字符串与PHP数组进行比较!您只能将字符串与一个文件夹进行比较@凯伦:嗯,是的,我知道。这就是我的问题所有文件夹的停留时间用于将字符串与找到的所有文件夹进行比较…客户端可以看到JS,因此我不知道安全性对您是否意味着一个好的del,但向可能的攻击者显示您的完整文件夹结构对我来说似乎不是一个好主意…@11684:
gallery
的文件夹结构可能不是安全必需的;)@11684:我使用上载创建新文件夹。所以我不想在每一张新专辑中都编辑我的javascript。因此,我只想扫描gallery文件夹以获取所有相册:)太棒了,我有了
json\u encode
,但不知道如何将其发送到JS+1好的。我认为,var文件夹现在是一个数组。。。嗯。现在如何在if循环中插入所有文件夹S@dTDesign,你的问题毫无意义。您正在尝试循环浏览所有文件夹吗?当我看到它是正确的,我现在得到一个所有文件夹的数组。现在我的目标是检查我的字符串是否是唱片集。因此,我必须将其与folders数组中的所有结果进行比较。但我不知道该怎么做…哦,好吧,我想它不是数组。我用谷歌试试+1感谢您的帮助,谢谢您,我有
json\u encode
,但不知道如何将其发送到JS+1好的。我认为,var文件夹现在是一个数组。。。嗯。现在如何在if循环中插入所有文件夹S@dTDesign,你的问题毫无意义。您正在尝试循环浏览所有文件夹吗?当我看到它是正确的,我现在得到一个所有文件夹的数组。现在我的目标是检查我的字符串是否是唱片集。因此,我必须将其与folders数组中的所有结果进行比较。但我不知道该怎么做…哦,好吧,我想它不是数组。我用谷歌试试+谢谢你的帮助