当前位置:首页 » 编程语言 » 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

热点内容
访问策略更新 发布:2025-02-01 06:39:29 浏览:498
pythoneditplus 发布:2025-02-01 06:31:57 浏览:275
bmp转png源码 发布:2025-02-01 06:30:08 浏览:470
魔兽联盟人多的服务器是什么 发布:2025-02-01 06:25:25 浏览:41
c语言字符串子串删除 发布:2025-02-01 06:25:23 浏览:534
怎么改电脑锁屏密码 发布:2025-02-01 06:16:55 浏览:472
存储卡不能格式化怎么办 发布:2025-02-01 06:02:55 浏览:691
scratch编程网站 发布:2025-02-01 05:51:27 浏览:396
安卓怎么更好用 发布:2025-02-01 05:45:38 浏览:147
ps如何存储多页为pdf 发布:2025-02-01 05:44:15 浏览:33