您可以使用数组表示法获取完整文件路径的一部分,例如
echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
但是除了“basename”被错误地命名(因为它返回整个文件名),“basename”和“filename”版本只返回文件名的第一个字符。如果文件名是 Archive.zip ,我会执行以下操作:
echo "Here's the zip filename: " . $zipFilename . "<br>";
echo "Here's the basename: " . $zipFilename['basename'] . "<br>";
echo "Here's the 'filename': " . $zipFilename['filename'];
我明白了:
Here's the zip filename: Archive.zip
Here's the basename: A
Here's the 'filename': A
如果我在完整路径上尝试上传/ Archive.zip ,我会:
Here's the zip filename: uploads/Archive.zip
Here's the basename: u
Here's the 'filename': u
知道为什么吗?感谢。
答案 0 :(得分:1)
原来这里缺少一步:调用pathinfo
将路径字符串转换为数组。 Pramod的评论指出了这个问题,虽然它不太正确:pathinfo不会创建一个FILE数组。它只是将一个字符串解析成一个数组。
谢谢!