如何在public_html之外上传文件?

时间:2012-10-27 00:13:19

标签: php public-html

我有一个像这样的文件夹结构:

etc
files
public_html
tmp

我希望我网站的用户能够上传文件,并将这些文件存储在files文件夹中(而不是将它们存储在public_html内的某个文件夹中)。这是出于安全原因。我有点像新手,而且我无法弄清楚如何将上传的文件存储到files文件夹中。这是我的代码(相关部分?):

$path = dirname( __FILE__ ) ."/" . 'files/my_file.pdf';
$success = move_uploaded_file( $tmp_name, $path );

我应该如何更改$path才能让它发挥作用?

2 个答案:

答案 0 :(得分:1)

在知道FRAMEWORK_PATH的值是什么的情况下,很难说文件的上传位置。如果您特别想要将文件放到您选择的位置,请明确指定它:

$path = '/path/to/files/';
$filename = 'name_you_want_to_give_upload';

$success = move_uploaded_file($tmp_name, $path . $filename);

答案 1 :(得分:1)

如果您要将文件保存在 upload.php 文件所在的位置之外,则需要在要保存文件路径的位置添加../,例如:

如果您的 upload.php 文件位于此根目录中:

public_html/files/php/upload.php

但是,您希望将上传的文件保存在名称为 upFiles 的文件夹中,并且它位于php文件夹之外(在这种情况下),您可以写像这样的道路:

../upFiles/

如果您想将其保存在子文件夹中,也可以使用此方法:

../files/anotherFolder/upFiles