我正在尝试回应上载税单的扩展名。该文档可以是任何图像或pdf。我打算在以后的代码中使用扩展名重命名具有正确扩展名的文件。
当前它不回显扩展名。
我尝试了几种不同的方法,并查看了文档和论坛。我似乎仍然在做错事。
我的HTML:
<input type="file" class="" id="TaxFile" name="TaxFile" accept="image/*,application/pdf" ><br /><br />
我的PHP:
$taxpath = pathinfo($_FILES["TaxFile"]["tmp_name"]);
echo $taxpath['extension'] . "\n123";
echos'123'
我的替代PHP:
$taxpath = $_FILES["TaxFile"]["tmp_name"];
$ext = pathinfo($taxpath, PATHINFO_EXTENSION);
echo $ext;
echos什么都没有
我希望看到回显: “ pdf 123“ 和“ pdf”
*实际上,我的后续代码确实使用move_uploaded_file($_FILES["TaxFile"]["tmp_name"], $target_file)
将文件保存到了目标位置。只是$ target_file不会包含适当的扩展名。
答案 0 :(得分:1)
如果您使用name
而不是tmp_name
$path_parts = pathinfo($_FILES["TaxFile"]['name']);
$extension = $path_parts['extension'];
echo $extension;
答案 1 :(得分:0)
这将解决
$path = $_FILES['image']['name'];
$ext = pathinfo($path, PATHINFO_EXTENSION);
因此在文件中连接变量
echo $path.'.'.$ext;
答案 2 :(得分:0)
tmp_name
是磁盘上文件的临时名称/位置。
尝试使用$_FILES["TaxFile"]["name"]
来获取原始文件名。
否则,您使用pathinfo()
和PATHINFO_EXTENSION
来获取扩展名的方法是正确的。