<!--{foreach from=$storestore_gcates item=gcategory}-->
<!--{if $gcategorystore_id neq 0 and $gcategoryparent_id neq 0}-->
<a href="{url app=store&id=$storestore_id&act=search&cate_id=$gcategorycate_id}">
<li>
<img src=" <!--{if $gcategorycate_images}-->{$gcategorycate_images}<!--{else}-->/shop1/picture/全部商品jpg<!--{/if}-->" />
<span>{$gcategorycate_name|escape}</span>
</li>
</a>
<!--{/if}-->
<!--{/foreach}-->
PHP使用函数opendir、readdir、closedir来实现文件夹的 *** 作,下面以一个最基本的例子来作为入门介绍:
<php//获取某目录下所有文件、目录名(不包括子目录下文件、目录名)
$dir='C:/Users/';
$handler = opendir($dir);
while (($filename = readdir($handler)) !== false) {//务必使用!==,防止目录下出现类似文件名“0”等情况
if ($filename != "" && $filename != "") {
$files[] = $filename ;
}
}
}
closedir($handler);
//打印所有文件名
foreach ($filens as $value) {
echo $value"<br />";
}
>
上面的代码显示c:\users文件夹里面的所有的文件和文件夹,忽略和两个特殊含义的文件夹,程序把所有文件和文件夹名称扫描保存到数组里面,然后显示。
如果你需要对文件进行过滤,例如只处理xls文件,可以在过滤和的地方添加代码。例如:
if (substr($filename,-4)=='xls'){
当你理解了上面的代码之后,你就能编写扫描子文件夹、以及子 文件夹里面文件的方法了。基本思路是使用递归,下面我给出一个简单的例子:
function get_allfiles($path,&$files) {if(is_dir($path)){
$dp = dir($path);
while ($file = $dp ->read()){
if($file !="" && $file !=""){
get_allfiles($path"/"$file, $files);
}
}
$dp ->close();
}
if(is_file($path)){
$files[] = $path;
}
}
function get_filenamesbydir($dir){
$files = array();
get_allfiles($dir,$files);
return $files;
}
$filenames = get_filenamesbydir("c:/users/");
//打印所有文件名,包括路径
foreach ($filenames as $value) {
echo $value"<br />";
}
这个例子使用dir类来编写,实际上用opendir、readdir、closedir来写也是相同的。
如果是想获取当前文件的父文件夹名
可以使用basename(__DIR__);
如果是兄弟文件夹,
可以用glob(__DIR__'');获取兄弟文件(夹),使用is_dir判断文件夹,从而获取文件夹名称,
其他上层文件夹名
可以使用explode('/', str_replace("\\", "/", __DIR__));各个上层文件夹的名字根据层次索引存在数组中
//凡事不一定要用循环。
//你这个用一个函数就搞定
array_slice($array, 3); //返回后三个值的数组
array_slice($array, 0,3); //返回前三个值的数组
//如果一定要循环,可以这样:
$array = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
$result=array();
foreach($array as $k=>$v){
$i=($k>2)1:0;
$result[$i][]=$v;
}
var_dump($result);
$array=array();
$array[0]="乌龟";
$subcate[0][0]=$array[0];
print_r($subcate);
自己看结果,你要明白一点,修改'计算机'就要把他当做值而不是键
估计你和一楼犯了一样的错误,就是$subcate[0]['计算机']=$array[0];
那样就把'计算机'当成1个键,就会造成在$subcate[0][]这个array里多出一个'计算机'键,值为'乌龟'PHP的牛X就是数组下标可以随意命名,这点有利有弊
有时候会让人犯小糊涂
以上就是关于php 如何调用指定表的数组内容全部的内容,包括:php 如何调用指定表的数组内容、php如何读取某目录下的所有同类型文件、php如何获取文件夹数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)