php – 使用pathinfo()时无法获得文件扩展名
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 使用pathinfo()时无法获得文件扩展名,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1699字,纯文字阅读大概需要3分钟。
内容图文
![php – 使用pathinfo()时无法获得文件扩展名](/upload/InfoBanner/zyjiaocheng/772/c278606471b24611bca3b07c3c47a74a.jpg)
我正在为照片网站构建一个上传器,大多数上传的照片都是1232132_1231231_12.jpg类型.当我运行pathinfo()时,我得到了扩展的空白输出.
这是我的代码
$target_dir = "Photos/";
$species = filter_input(INPUT_POST, 'species');
$country = filter_input(INPUT_POST, 'country');
$type= filter_input(INPUT_POST, 'type');
include_once 'connection.php';
echo $target_dir . basename($_FILES["file"]["name"]);
for($a=0;$a<count($_FILES['file']['tmp_name']);$a++)
{
$target_file = $target_dir . basename($_FILES["file"]["name"][$a]);
$imageFileType=pathinfo($target_file, PATHINFO_EXTENSION);
var_dump(pathinfo($target_file));
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" )
{
echo "<br> Sorry, only JPG, JPEG, PNG & GIF files are allowed. your file is a $imageFileType <br>";
}
}
照片/ 2014-02-21 18.19.08.jpg
echo $target-file;
给出了这个输出照片/ 2014-02-21 18.19.08.jpg
对于var_dump,这被回显到屏幕,
array(3){[“dirname”] => string(6)“Photos”[“basename”] => string(1)“2”
[ “文件名”] => string(1)“2”}
我的代码有问题或者pathinfo()与数字和特殊字符文件名不兼容吗?
是否有另一个函数可以使用这些类型的文件名,或者应该使用’.’爆炸$($target_file).并获取返回数组中的最后一个元素?
解决方法:
问题不是pathinfo.你在做一些奇怪的事情:
$target_file = $target_dir . basename($_FILES["file"]["name"][$a]);
这一行是在一个循环中,$a介于0和…之间
$_FILES [“file”] [“name”]返回文件名.但:
$_FILES["file"]["name"][0]
将返回文件名中的第一个字母(例如2).
所以,你在变量上做一个pathinfo:
$target_file = $target_dir . basename($_FILES["file"]["name"][$a]); // looks like $target_file = Photos/2 (when $a = 0)
改变这样的行:
$target_file = $target_dir . basename($_FILES["file"]["name"]);
内容总结
以上是互联网集市为您收集整理的php – 使用pathinfo()时无法获得文件扩展名全部内容,希望文章能够帮你解决php – 使用pathinfo()时无法获得文件扩展名所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。