當前位置:首頁 » 編程語言 » php取文件後綴名

php取文件後綴名

發布時間: 2023-10-12 12:55:29

1. php上傳圖片沒有文件名後綴

$filename = basename($_FILES['image']['name']);
$file_ext = strtolower(substr($filename, strrpos($filename, '.') + 1));
echo $file_ext;

請樓主先試試用這幾句看是否能獲取到後綴名
一般來說,即使系統沒有顯示後綴名,在php上傳中也是可以獲取到後綴名的
還有,就是要檢查一下,move_uploaded_file函數里,目標地址的圖片名稱是否拼接了後綴名

2. 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

3. php 驗證上傳的文件類型為圖片,並獲得文件的後綴名

以下是我上傳了一個圖片後顯示的 $_FILES['filename']的信息
[filename] => Array
(
[name] => Winter.jpg
[type] => image/jpeg
[tmp_name] => /tmp/php2jw7QX
[error] => 0
[size] => 105542
)
其中type是文件類型的minitype 表示方法,例如普通的HTML的類型是text/html
如果你想用擴展名的方式判斷的話可以用以下代碼:
<?php
#允許的文件擴展名
$allowed_types = array('jpg', 'gif', 'png');
$filename = $_FILES['filename']['name'];
#正則表達式匹配出上傳文件的擴展名
preg_match('|\.(\w+)$|', $filename, $ext);
#print_r($ext);
#轉化成小寫
$ext = strtolower($ext[1]);
#判斷是否在被允許的擴展名里
if(!in_array($ext, $allowed_types)){
die('不被允許的文件類型');
}
?>

4. php修改文件名後綴

  1. $name=$shareInfo['name'];

  2. $pos=strrpos($name,".");//右側查找'.'的位置

  3. //組合條件只處理jpg/png類型的

  4. if($pos && (substr($name,$pos+1)=="jpg" || substr($name,$pos+1)=="png")){

  5. echo substr($name,0,$pos);

  6. }

5. 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);

6. PHP讀取目錄下所有文件內容並顯示

<?php

function printFile($filepath)

{

//substr(string,start,length)函數返回字元串的一部分;start規定在字元串的何處開始 ;length規定要返回的字元串長度。默認是直到字元串的結尾。

//strripos(string,find,start)查找 "php" 在字元串中最後一次出現的位置; find為規定要查找的字元;start可選。規定開始搜索的位置

//讀取文件後綴名

//$filetype = substr ( $filename, strripos ( $filename, "." ) + 1 );

//判斷是不是以txt結尾並且是文件

#if ($filetype == "txt" && is_file ( $filepath . "/" . $filename ))

if ( is_file ( $filepath))

{

$filename=iconv("gb2312","utf-8",$filepath);

echo $filename."內容如下:"."<br/>";

$fp = fopen ( $filepath, "r" );//打開文件

#while (! feof ( $f )) //一直輸出直到文件結尾

$i = 1;

while ($i < 10)

{

$line = fgets ( $fp );

echo $line."<br/>";

$i = $i +1;

}

fclose($fp);

}

}

(此處空一行)

function readFileRecursive($filepath)

{

if (is_dir ( $filepath )) //判斷是不是目錄

{

$dirhandle = opendir ( $filepath );//打開文件夾的句柄

if ($dirhandle)

{

//判斷是不是有子文件或者文件夾

while ( ($filename = readdir ( $dirhandle ))!= false )

{

if ($filename == "." or $filename == "..")

{

//echo "目錄為「.」或「..」"."<br/>";

continue;

}

//判斷是否為目錄,如果為目錄遞歸調用函數,否則直接讀取列印文件

if(is_dir ($filepath . "/" . $filename ))

{

readFileRecursive($filepath . "/" . $filename);

}

else

{

//列印文件

printFile($filepath . "/" . $filename);

echo "<br/>";

}

}

closedir ( $dirhandle );

}

}

else

{

printFile($filepath . "/" . $filename);

return;

}

}

(此處空一行)

header("content-type:text/html;charset=utf-8");

#echo "Hello World"."<br/>";

$filepath = "C:/phpStudy/PHPTutorial/WWW/test/results"; //想要讀取的目錄

readFileRecursive($filepath )

?>

(6)php取文件後綴名擴展閱讀:

php還可以讀取文件夾下所有圖片,方法如下

hostdir=dirname(__FILE__).'/data/upload/admin/20170517/'; //要讀取的文件夾

(此處空一行)

$url = '/data/upload/admin/20170517/'; //圖片所存在的目錄

(此處空一行)

$filesnames = scandir($hostdir); //得到所有的文件

(此處空一行)

// print_r($filesnames);exit;

//獲取也就是掃描文件夾內的文件及文件夾名存入數組 $filesnames

(此處空一行)

$www = 'http://www.***.com/'; //域名

(此處空一行)

foreach ($filesnames as $name) {

$aurl= "<img width='100' height='100' src='".$www.$url.$name."' alt = '".$name."'>"; //圖片

echo $aurl . "<br/>"; //輸出他

7. 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

熱點內容
android下拉刷新通用 發布:2025-02-01 05:03:51 瀏覽:905
紫光存儲最近 發布:2025-02-01 04:58:49 瀏覽:380
sqlserver重命名 發布:2025-02-01 04:56:24 瀏覽:428
iisftp被動模式 發布:2025-02-01 04:41:50 瀏覽:350
車載安卓怎麼安裝軟體 發布:2025-02-01 04:30:50 瀏覽:469
安卓系統su程序是什麼 發布:2025-02-01 04:25:42 瀏覽:475
android代碼行數統計 發布:2025-02-01 04:20:47 瀏覽:216
快速喊話腳本 發布:2025-02-01 04:16:48 瀏覽:885
如何分辨普拉多的配置 發布:2025-02-01 04:11:45 瀏覽:681
linuxc文件刪除 發布:2025-02-01 04:11:33 瀏覽:218