使用fopen()将文件写入子目录

时间:2012-12-07 10:05:02

标签: php directory fopen

我已经查看了this StackOverflow问题但它没有帮助(标题相似)。

我正在从我的Android应用程序中传入图像。如果我输入

$file = fopen('test.jpg', 'wb');

它正常工作,图片上传;但是,我想允许Android手机多次上传,所以我想随机化.jpg文件的名称,以便我可以将每个新上传保存为不同的名称。我在下面尝试这个:

$destination =  time() + rand(1, 1000) . ".jpg";
$url_destination = "/project_images/" . $destination;

$file = fopen($url_destination, 'wb');
fwrite($file, $binary);
fclose($file);
但是,

它不会将文件写入服务器。我尝试了不同的URL变体 - 使用'project_images /','/ project_images /',甚至尝试完整的URL(前面提到的StackOverflow帖子纠正了我),我仍然无法写它。

project_images文件夹的权限设置为允许将文件写入其中。有什么想法吗?

2 个答案:

答案 0 :(得分:6)

你的问题是"/project_images",这是一条错误的绝对路径。

要将其更改为"project_images/"dirname(__FILE__).'/project_images/'

答案 1 :(得分:0)

对于在Windows上使用XAMPP的用户:使用DIRECTORY_SEPARATOR代替/

dirname(__FILE__).DIRECTORY_SEPARATOR.'project_images'.DIRECTORY_SEPARATOR