PHP上传和htaccess密码问题

时间:2011-05-16 21:10:39

标签: php .htaccess

我有一个相当令人困惑的问题/问题,让我为你解决。

我有两个目录 - gallery和uploader

上传程序目录受htaccess密码保护。这是几个PHP页面和PHP文件上传器所在的位置。当我在目录中加载索引时访问索引PHP文件时输入我的凭据。

问题是上传者正在上传文件,然后将其移至图库目录(不受密码保护)。然后运行其他脚本来复制该图像,调整其大小,然后删除原始图像。这个过程非常有效,直到我将htaccess密码放在上传器目录中。因此,由于某种原因,受保护目录中的PHP上载程序无法移动/处理上载的映像,然后将其复制到未受保护的目录。

我需要做什么的想法?我不确定问题是PHP上传者在受保护目录中调用其他脚本,还是在将其移动到未受保护的目录时遇到麻烦。

编辑: 下面是一些示例代码,您可以看到URL未被使用(它们也不在resizeMyImageTN方法中)。

//WHERE THE SAVE HAPPENS!


move_uploaded_file($_FILES['Filedata']['tmp_name'], '../../uploads/'.$folder.'/'.$new_index.'-' . $_FILES['Filedata']['name']);


//Call function to resize images pass in path

resizeMyImageTN($_FILES['Filedata']['name'],$folder, $new_index);


unlink('../../uploads/'.$folder.'/'.$new_index.'-' . $_FILES['Filedata']['name']);

2 个答案:

答案 0 :(得分:1)

.htaccess保护在网络服务器级别工作。但是,除非您在各种文件操作调用中使用URL,否则PHP脚本在文件系统级别工作,永远不会看到.htaccess保护。

move_uploaded_file($_FILES['uploaded']['tmp_name'], '/some/dir/that/is/protected/newname.txt');

不会涉及HTTP层,这意味着没有保护。但如果你试试

move_uploaded_file($_FILES['uploaded']['tmp_name'], 'http://myserver.com/newname.txt');

将涉及新的HTTP请求,重新上传文件,并受服务器上任何URl限制的约束。

如果没有看到某些代码,我们很可能无法回答您的问题。

答案 1 :(得分:0)

我忘了回答这个问题(我的不好)。最后,我只能通过没有上传目录.htaccess保护来使其工作。哪个不理想,但我似乎无法解决任何其他问题。因为我问这个我已经将网站转换为Django,这解决了我所有的问题。