将jpeg保存到服务器上的文件," ../ uploads /"不起作用,但" \ uploads \\"不

时间:2015-09-07 20:23:15

标签: php

所以,这是我的基本文件结构:

- public_html/
--index.php
---php/
---imageUpload.php
--uploads/

我有一个可以正常工作的PHP脚本,直到执行imagejpeg()命令,这就是我的样子:

imagejpeg($images_fin,"../uploads/".$new_images); //Save image to file

显然我有../因为我想要返回一个文件夹,因为uploads/位于根目录中。如果我尝试这个,虽然我收到这个错误:

  

PHP错误消息警告:imagejpeg()[function.imagejpeg]:无法打开   ' ../上传/'写作:是一个目录   第42行/home/a9990485/public_html/php/uploadImage.php

但是,如果我将imagejpeg更改为:

imagejpeg($images_fin,"..\uploads\\".$new_images); //Save image to file

它只是在我的..\uploads\\文件夹中创建一个名为php/的新文件夹,图像会保存在那里。发生了什么,为什么我不能回到我的根目录并将其保存在我的uploads文件夹中!

我已经尝试了$_SERVER['DOCUMENT_ROOT']."/public_html/uploads/"但是我收到一条错误消息,说我无权访问该文件夹而不是我假设它试图过多地回到主机文件结构中。

1 个答案:

答案 0 :(得分:2)

可能的原因是$ new_images变量为空。 php错误说

Unable to open '../uploads/' for writing

这意味着它正在尝试打开../uploads/这是一个文件夹而不是文件