① PHP如何读出当前目录下所有文件
一般来说php中读取目录下的文件名的方式确实不少,最简单的是scandir,具体代码如下:x0dx0a复制代码 代码如下:$dir="./caxa/";x0dx0a$file=scandir($dir);x0dx0aprint_r($file);x0dx0a稍微复杂点的,来自于php手册:x0dx0a复制代码 代码如下:$dir = "/etc/php5/";x0dx0a/激判/ Open a known directory, and proceed to read its contentsx0dx0aif (is_dir($dir)) {x0dx0aif ($dh = opendir($dir)) {x0dx0awhile (($file = readdir($dh)) !== false) {x0dx0aecho "filename: $file : filetype: " . filetype($dir . $file) . "\n";x0dx0a} closedir($dh);x0dx0a}x0dx0a}x0dx0a这些都只能读取当前指定目录下的文件,对握穗子目录中的文件则无法读取。原来自己写明皮改过一个循环删除所有目录的一段代码,需要逐个子目录删除所有文件,包括多层。但是只需要读出文件名,稍微复杂点,网上找到一个能用,原始代码有错误提示,改了一下引用&$data的地方,如下所示:x0dx0a复制代码 代码如下:function searchDir($path,&$data){x0dx0aif(is_dir($path)){x0dx0a$dp=dir($path);x0dx0awhile($file=$dp->read()){x0dx0aif($file!='.'&& $file!='..'){x0dx0asearchDir($path.'/'.$file,$data);x0dx0a}x0dx0a}x0dx0a$dp->close();x0dx0a}x0dx0aif(is_file($path)){x0dx0a$data[]=$path;x0dx0a}x0dx0a}x0dx0afunction getDir($dir){x0dx0a$data=array();x0dx0asearchDir($dir,$data);x0dx0areturn $data;x0dx0a}x0dx0aprint_r(getDir('.'));x0dx0a希望本文所述对大家的PHP程序设计有所帮助。
② php获取file文件名
?php
if ($_FILES["file"]["error"]
0){
echo "Error: " . $_FILES["file"]["error"] . "
";
}
else{
echo "Upload: " . $_FILES["file"]["name"] . "
";
echo "Type: " . $_FILES["file"]["type"] . "
";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
?>
通过使用
PHP
的全局数组
$_FILES,你可以从客户计算机向远程服务器上传文件。
第一个参数是表单的
input
name,第二个下标可以是
"name",
"type",
"size",
"tmp_name"
或
"error"。就像这样:
$_FILES["file"]["name"]
-
被上传文件的名称
$_FILES["file"]["type"]
-
被上传文件的类型
$_FILES["file"]["size"]
-
被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"]
-
存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"]
-
由文件上传导致的错误代码
望采纳
Thx
③ 怎么让php文件可以使用中文文件名或者中文路径
首先建议使用文文件名
因文会被
URL编码发送服务器端时候虽会解码和编码致解出来了
简单说URL文
常见浏览器默认会UTF-8编码进行编码发送服务器端而文
windows环境服务器解码URL时候却用gb2312编码进行解码样导致了没法得地址栏里输入文原文
所会提示找文件名了
定要用文
解决办法仅限本地浏览解决办法
浏览器打开internet选项菜单选择高级找
发送utf-8
URL把前面钩去掉确认再重启浏览器样地址栏里文会默认gb2312编码
进行发送样服务器端能正确找该文文件名文件了
④ PHP 如何 得到文件名(不要后缀名)
方法如下:
$dh = opendir($dirname);
$n = 0;
while ($file=readdir($dh)){
// $file为目录下所有文件和文件夹,
// 需要注意默认有 .(本目录)和..(上级目录)这两个特殊文件夹
if (is_file($file)){
//只处理文件
if (!strpos($file,'.')){
// 无后缀名的文件
}
$n++; // 计数
}
}
⑤ php获取file文件名
<?php
if($_FILES["file"]["error"]>0){
echo"Error:".$_FILES["file"]["error"]."<br/>";
}
else{
echo"Upload:".$_FILES["file"]["name"]."<br/>";
echo"Type:".$_FILES["file"]["type"]."<br/>";
echo"Size:".($_FILES["file"]["size"]/1024)."Kb<br/>";
echo"Storedin:".$_FILES["file"]["tmp_name"];
}
?>
<metacharset="UTF-8">
<formaction=""method="post"enctype="multipart/form-data">
<inputtype="file"name="file"><br/>
<inputtype="submit"value="提交">
</form>
通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。
第一个参数是表单的 input name,第二个下标可以是 "name", "type", "size", "tmp_name" 或 "error"。就像这样:
$_FILES["file"]["name"] - 被上传文件的名称
$_FILES["file"]["type"] - 被上传文件的类型
$_FILES["file"]["size"] - 被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] - 由文件上传导致的错误代码
望采纳 Thx
⑥ php获取文件夹下所有文件名
function dir_file_handle($dir,$dir_handle,$file_handle,&$array=NULL) {
$array = array();
function circle($dir,$dir_handle,$file_handle,&$array){
$handle=opendir($dir);
while(($file=readdir($handle))!==false){
if($file!="." && $file!=".."){
if(is_dir("$dir/$file")){
//文件夹操作
eval($dir_handle);
circle("$dir/$file",$dir_handle,$file_handle,&$array);
}else{
//文件操作
eval($file_handle);
}
}
}
}
@circle($dir,$dir_handle,$file_handle,$array);
}
function list_dir_file($array) {
$indent = 0;
static $preindent = 0;
while (list($key,$value) = each($array)) {
$indent = count(explode('/', $key));
if ($indent == 1) {
$indent = $preindent;
}else {
$preindent = $indent;
}
$dirname = substr(strrchr($key, '/'), 1);
if (is_array($value)) {
echo str_repeat("", $indent)."|-$dirname<br>";
list_dir_file($value);
}else {
echo str_repeat("", $indent*2)."$value<br>";
}
}
}
dir_file_handle(
'./01',
'
if(is_null($array["$dir"])) {
$array["$dir"] = array();
}
if(is_null($array["$dir/$file"])) {
$array["$dir/$file"] = array();
}
',
'array_push($array["$dir"],$file);',
$array
);
list_dir_file($array);
⑦ PHP如何得到文件名(不要后缀名)
方法如下:
$dh = opendir($dirname);
$n = 0;
while ($file=readdir($dh)){
// $file为目录下所有文件和文件夹,
// 需要注意默认有 .(本目录)版和..(上级目录)这权两个特殊文件夹
if (is_file($file)){
//只处理文件
if (!strpos($file,'.')){
// 无后缀名的文件
}
$n++; // 计数
}
}