我想获取文件夹中所有具有“_img”和PDF类型的文件而不是使用$fileArray=scandir($dir);foreach($fileArrayas$file){if(preg_match("_img",$file)&&pathinfo($file,PATHINFO_EXTENSION)=='pdf'){$filteredArray[]=$file;}}有没有捷径或者是最好的方法?谢谢 最佳答案 使用phpglob()功能Theglob()functionsearchesforallthepathnamesmatchingpa
我在一个文件夹中有几个文件,我想对它们进行计数。$folder="images";$allPics=scandir($folder);$result=sizeof($allPics);echo$result;结果是350,但它应该是348。我不明白为什么它向我显示结果+2?我错过了什么吗?! 最佳答案 http://php.net/manual/en/function.scandir.php在查看文档时,您可以看到该函数同时返回“.”。和“..”,这就是为什么你比你应该拥有的多2个。你可以使用这个:array_diff(scandi
scandir的PHP手册:默认情况下,排序顺序为字母升序。我正在构建一个文件浏览器(在Windows中),所以我希望返回的地址按文件夹/文件排序,然后在这些子集中按字母顺序排列。例子:现在,我扫描并输出Aardvark.txtBarDirBazDirDante.pdfFooDir我想要BarDirBazDirFooDirAardvark.txtDante.pdf除了usort和is_dir()解决方案(我自己可以弄清楚),有没有一种快速有效的方法做这个?写thiscomment的忍者走在正确的轨道上-这是最好的方法吗? 最佳答案
我想在浏览器中显示目录中的文件。我知道这可以使用@opendir和readdir..但我想要的是将列表中的文件数量限制为特定数量并使用分页显示下一个. 最佳答案 你可以使用scandir将目录的所有内容读入数组。然后根据分页值输出数组内容。$offset=10;//getthisasinputfromtheuser,probablyasaGETfromalink$quantity=10;//numberofitemstodisplay$filelist=scandir('/mydir');//getsubsetoffilearray
在LinuxCentOS5.5上使用PHP5.3.3(稳定版)。这是我的文件夹结构:www/myFolder/www/myFolder/testFolder/www/myFolder/testFile.txt对“myFolder”文件夹使用scandir()我得到以下结果:...testFoldertestFile.txt我试图从结果中过滤掉文件夹,只返回文件:$scan=scandir('myFolder');foreach($scanas$file){if(!is_dir($file)){echo$file.'\n';}}预期的结果是:testFile.txt但是我实际看到的是:t
我有一个php脚本$filelist=scandir('myfolder/'),它列出了我文件夹中的文件。但它也将子文件夹添加到数组中,以便在我使用foreach打印结果时也填充它们。我想从添加到数组中删除文件夹。我该怎么做?? 最佳答案 简单的方法$dir='myfolder/';$filelist=scandir($dir);foreach($filelistas$key=>$link){if(is_dir($dir.$link)){unset($filelist[$key]);}}
我有一个包含图像的子文件夹的目录。我需要在一页上显示所有这些,还有它们的文件夹名称,所以像这样:echo子文件夹名称回显图像,图像,图像echoSubfolder2名称回显图像2,图像2,图像2等我试过$images=glob($directory."*.jpg");但问题是我必须在$directory中准确定义子文件夹名称,例如“path/folder/subfolder/”;有没有像“通配符”这样的选项可以检查所有子文件夹并回显foreach子文件夹名称及其内容?此外,opendir和scandir由于我无法控制的服务器限制,无法在此处应用。 最佳答案
我问之前搜索过,没有幸运..我正在为自己寻找一个可以搜索文件/文件夹的简单脚本。在php手册中找到了这个代码片段(我想我需要这个),但它对我不起作用。“正在寻找一种使用掩码搜索文件/目录的简单方法。这是一个这样的功能。默认情况下,此函数会将scandir()结果保存在内存中,以避免多次扫描同一目录。"$entry){if($entry!='.'&&$entry!='..'&&fnmatch($mask,$entry)){$sdir[]=$entry;}}return($sdir);}?>感谢您的帮助,彼得 最佳答案 $a=newRe
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。假设我们有这样一个循环:foreach($entriesas$entry){//let'ssaythisloops1000timesif(file_exists('/some/dir/'.$entry.'.jpg')){echo'fileexists';}}我假设这必须访问HDD1000次并检查每个文件是否存在。改用这个怎么样?$files=scandir
scandir()函数扫描目录dir,调用每个目录条目上的select()作为“int(*filter)(conststructdirent*)”如何将模式值作为参数传递给过滤器中使用的fnmatch(constchar*pattern,constchar*string,intflags)函数?这是我的示例代码intmy_selectgrf(conststructdirent*namelist){intr=0;charmy_pattern[]="*.grf";r=fnmatch(my_pattern,namelist->d_name,FNM_PERIOD);return(r==0)?1