PHP中的文件路径

时间:2016-03-01 10:54:16

标签: php file

我正在将视频上传到我的开发网站上的本地文件夹,并在数据库中存储post_media_path ..它看起来如下:

media/pages/2/posts/post-video-1456829306.mp4

然后我尝试使用Vimeo上传视频。然而,Vimeo回来时出现错误“无法找到文件”。

所以我正在尝试这个:

$filePath = getcwd() .'/'. $data['post_media_path'];

但是当我这样做时,路径出现如下:

C:\xampp\htdocs\sd-tools\public/media/pages/2/posts/post-video-1456829306.mp4

我怀疑路径是错误的,因为这是错误的方式。

如何解决此问题或让其发挥作用?

由于

1 个答案:

答案 0 :(得分:1)

嗯,问题是由于您存储post_media_path

的方式造成的

在Windows /home/user/

上,Linux中的路径通常看起来像C:\user\

理想情况下,您需要根据正在运行的操作系统存储值。

快速修复

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
{
    //if running on windows
    $filePath = getcwd() .'\'. str_replace("/", "\", $data['post_media_path']);
}
else
{
    //if running on something else than windows
    $filePath = getcwd() .'/'. $data['post_media_path'];
}

将执行您目前在linux下执行的操作,但在Windows下将/替换为\。但是,为了避免出现任何问题,您需要确保文件名本身不包含/