【发布时间】:2013-05-08 06:12:59
【问题描述】:
您可以使用数组表示法获取完整文件路径的一部分,例如
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
如果我在完整路径上尝试,uploads/Archive.zip,我会得到:
Here's the zip filename: uploads/Archive.zip
Here's the basename: u
Here's the 'filename': u
知道为什么吗?谢谢。
【问题讨论】:
-
顺便说一下,您所指的这个文件是通过 POST/GET 上传的?这里的场景是什么?
-
如何将值/文件设置为 $zipFilename?
-
是的,它用于上传文件。 $zipFilename 来自 POST(用户选择的文件的名称),但是如果我对其进行硬编码,也会发生同样的事情。不过,感谢您的评论;请参阅下面的答案。
标签: php path filenames filepath