2012-12-07 32 views
2

我已经看了this StackOverflow的问题,并没有帮助(类似标题)。使用fopen()函数写入文件到子目录

我从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文件夹的权限设置为允许文件被写入。有任何想法吗?

+1

'fopen'无法写入URL,所以'$ url_destination'肯定是错误的开始。路径必须是本地文件系统路径。 – Jon

+0

尝试将权限更改为/ project_images目录中的777 – Nick

+0

可能的重复[尝试使用fopen()将文件写入其他目录)(http://stackoverflow.com/questions/9837337/trying-to-write-a -file-to-a-different-directory-using-fopen) –

回答

6

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

对于它的工作将其更改为"project_images/"dirname(__FILE__).'/project_images/'

+0

我以为我已经尝试过那一个(见我的帖子,其实我包括它!),但我猜它didn上传不正确。这解决了它。 –

+1

大:) ..通常使用目录名(__ FILE__)在这些情况下 –

+1

+1 I <3的dirname(__ FILE__) – Dale

相关问题