【问题标题】:upload file outside the root folder?在根文件夹之外上传文件?
【发布时间】:2012-03-12 06:26:17
【问题描述】:

我很困惑如何在 www 根文件之外上传文件。这里,www根文件在C盘。但是我想把文件上传到服务器的Z盘。我有以下 php 脚本来上传文件。在这里,我已经在 www/uploadApps/file 中上传了文件,但我必须在 www 根文件夹之外的另一个文件夹中上传文件,该文件夹位于另一个驱动器中。

move_uploaded_file($_FILES["file"]["tmp_name"],  "file/" . $_FILES["file"]["name"]);

【问题讨论】:

  • 您使用共享主机还是专用服务器?
  • 我有自己的服务器。这里EasyPHP 5安装在window server的C盘,我想上传z盘文件夹下的文件

标签: php file-upload


【解决方案1】:

不要使用"file/",而是使用要复制到的文件的绝对路径。

例如:

move_uploaded_file($_FILES["file"]["tmp_name"],  "Z:/somefolder/" . $_FILES["file"]["name"]);

【讨论】:

  • @ShresthaSunil 你试图复制它的路径是否存在?你有写它的权限吗? “不工作”是什么意思?有错误吗?
  • 感谢它的工作。我在路径中输入了大写字母 Z 而不是小写字母 z.. 再次感谢
  • 如何允许在窗口服务器的 z 中上传文件的权限。我在 c 驱动器中安装了 PHP 和 MS IIS 7。它显示以下错误: 警告:move_uploaded_file(file/N_Wleo.wav) [function.move-uploaded-file]: failed to open stream: Permission denied in C:\inetpub\wwwroot\ivr_admin\upload.php on line 163 警告: move_uploaded_file() [function.move-uploaded-file]: 无法将 'C:\PHP\uploadtemp\php816B.tmp' 移动到 C:\inetpub\wwwroot\ivr_admin\upload.php 中的 'file/N_Wleo.wav'第 163 行
【解决方案2】:

使用绝对路径准确指向您要存储/检索文件的位置。

//Relative paths
$filePath = "file/" . $_FILES["file"]["name"];
$filePath = "/file/" . $_FILES["file"]["name"];

//Absolute paths
$filePath = "C:/www/uploadApps/file/" . $_FILES["file"]["name"];
$filePath = "Z:/file/" . $_FILES["file"]["name"];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 1970-01-01
    相关资源
    最近更新 更多