我正在尝试创建一个扫描文件夹以查找子文件夹的函数,然后返回一个包含这些文件夹名称的数字数组.
这是我用于测试的代码.一旦我得到它打印出文件夹名称而不仅仅是"." 对于当前和以上文件夹的".."都会很好,我可以完成这个功能.
<?php
function super_l_getthemes($dir="themes")
{
if ($handle = opendir($dir)) {
echo "Handle: {$handle}\n";
echo "Files:\n";
while (false !== ($file = readdir($handle))) {
echo "{$file}<br>";
}
closedir($handle);
}
?>
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,并打印出文件夹的所有内容:文件,子文件夹和"." 和"......"
但如果我更换:
while (false !== ($file = readdir($handle))) {
echo "{$file}<br>";
}
Run Code Online (Sandbox Code Playgroud)
有:
while (false !== ($file = readdir($handle))) {
if(file_exists($file) && is_dir($file)){echo "{$file}";}
}
Run Code Online (Sandbox Code Playgroud)
该功能仅打印"." 和"..",而不是我想要打印的两个文件夹名称.
任何帮助表示赞赏.
我正在编写一个网页,用户可以上传自己的画廊.执行此操作时,系统会为与图库同名的图像创建子文件夹,对图库的引用将添加为表格中的一行,并且还会为图库创建一个单独的表格,其中包含图像列表.
当我尝试创建一个新画廊时,只要没有西欧标志,一切正常.如果我将画廊命名为"beär",我将收到一个错误,"表'databasename.beär...'不存在.
然而,该表确实存在正确的名称,我已经尝试在返回错误的mysql查询之前打印出变量$ sub(表示查询中的库名称),它正确打印.
还尝试了mysql_query("SET NAMES'latin1'",$ connection)))和UTF-8相同的latin1什么都不做,UTF-8更加拧紧所有东西(画廊名称实际上将是beär).
文本文件采用ISO 8859-1编码,字符集定义也是ISO 8859-1
这是查询:
if(!($result = @ mysql_query("SELECT * FROM {$database}.`{$sub}`
ORDER BY item_id DESC", $connection)))
{showerror();}
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏