【发布时间】:2009-11-05 08:04:17
【问题描述】:
我正在开发一个用户可以上传图片的网站(使用 php 4.3.11)。文件上传没有问题,因为我可以在上传目录中看到它们并且我没有收到任何错误消息,但是当我尝试通过 ftp 访问上传的文件时,我收到一个错误:没有这样的文件或目录。有时,我可以访问该文件有时我会收到此错误。这可能是什么问题?
[更新]
谢谢你们的帮助。我不熟悉 ftp 守护进程的东西。但我确实使用 FireFTP 通过 ftp 访问我的文件。文件在那里,但是当尝试下载它们或更改文件属性时,我得到了上述错误。我还尝试通过ftp上传文件夹中的文件,我能够毫无问题地下载它。
这是我正在处理的一些代码,有点绕道,但我会看看如何改进它。
我的工作目录是这样的 www.domain.com/register/
上传目录在这里www.domain.com/register/uploads/
用户需要注册并在注册时,在上传目录中为他们创建一个文件夹。我找不到创建文件夹而不必位于上传文件夹本身的方法,因此我重定向到 uploads 中的 create-user-folder.php 文件目录。
文件只包含以下代码:
$user_foldername = rawurldecode($_GET['name']); mkdir($user_foldername); header("位置:../form.php"); // 重定向回页面我检查了,创建的文件夹的权限设置为775。
这是我在上传时使用的部分代码(/register/function/function.php):
$path = "../uploads/$user_foldername/"; for($j = 0; $j我使用 FireFTP 进行了检查,文件位于 /uploads/user_foldername/ 目录中,其权限设置为 664。奇怪的是,当我尝试下载文件时,有时会出现完全没有问题,但有时会出现错误。
[另一个更新] 我在 copy() 函数之后添加了 chmod(),
$filename = $_FILES[$file]['name'][$j]; 复制($_FILES[$file]['tmp_name'][$j],$path.$filename); chmod($path.$filename, 0755);但我仍然得到错误。
另外一件事是当我通过url访问/register/uploads/user_foldername/时,我可以看到所有上传的文件并查看它们,但是我怎么无法访问他们通过ftp?
再次感谢!
【问题讨论】:
-
请提供可重复错误的操作系统。
-
有些代码会很棒,很难判断是权限问题还是基本路径问题