php – 使用pathinfo()时无法获得文件扩展名
发布时间:2020-12-13 22:54:56 所属栏目:PHP教程 来源:网络整理
导读:我正在为照片网站构建一个上传器,大多数上传的照片都是1232132_1231231_12.jpg类型.当我运行pathinfo()时,我得到了扩展的空白输出. 这是我的代码 $target_dir = "Photos/";$species = filter_input(INPUT_POST,'species');$country = filter_input(INPUT_POS
我正在为照片网站构建一个上传器,大多数上传的照片都是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,这被回显到屏幕, 我的代码有问题或者pathinfo()与数字和特殊字符文件名不兼容吗? 是否有另一个函数可以使用这些类型的文件名,或者应该使用’.’爆炸$($target_file).并获取返回数组中的最后一个元素? 解决方法
问题不是pathinfo.你在做一些奇怪的事情:
$target_file = $target_dir . basename($_FILES["file"]["name"][$a]); 这一行是在一个循环中,$a介于0和…之间 $_FILES["file"]["name"][0] 将返回文件名中的第一个字母(例如2). $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"]); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |