① 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++; // 計數
}
}