【问题标题】:PHP Rename error : The system cannot find the path specified. (code: 3)PHP重命名错误:系统找不到指定的路径。 (代码:3)
【发布时间】:2014-03-25 09:06:12
【问题描述】:

我想将一个excel文件从一个文件夹移动到另一个文件夹,我使用了以下代码行

 $approve_employee_id = $this->input->post('approve_employee_id');
        $approve_month_id = $this->input->post('approve_month_name');
        $approve_year_name = $this->input->post('approve_year_name');
        $approve_employee_username = $this->input->post('approve_employee_username');
        $folder_name = $approve_month_id.$approve_year_name;
        rename(".files/".$folder_name."/un_approved/".$approve_employee_username, ".files/".$folder_name."/approved/".$approve_employee_username);

我不断从系统中收到以下错误:

A PHP Error was encountered

Severity: Warning

Message: rename(.files/January2013/un_approved/HS0103,.files/January2013/approved/HS0103): The system cannot find the path specified. (code: 3)

Filename: controllers/time_sheet.php

Line Number: 279

我的文件夹树如下: C:\xampp\htdocs\timesheet\files\January2013\approved 表示已批准,C:\xampp\htdocs\timesheet\files\January2013\un_approved 表示未批准

请就实现此功能的最佳方式提出建议?

【问题讨论】:

  • The system cannot find the path specified. 错误信息有什么不明白的地方?

标签: php codeigniter


【解决方案1】:

也许您应该使用“./files”,而不是“.files”...?

但是,我建议将数据文件的位置与 php 脚本的位置分离……所以,我应该这样做:

...
$basedir = $_SERVER['DOCUMENT_ROOT'] . "/timesheet/files/$folder_name";
rename("$basedir/un_approved/$approve_employee_username", "$basedir/approved/$approve_employee_username);

当您应该将代码部署到不同的 Web 服务器时,这种方法会让您的生活更轻松,例如...

【讨论】:

    【解决方案2】:

    使用__DIR__.'./../yourfolder/' 我试过了,效果很好

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    【解决方案3】:

    我只是坚持完整路径,因为它更容易理解......

    例如

    dirname(__FILE__).'/files/etc/etc/path.yourfile';
    

    你可以上树

    dirname(dirname(__FILE__)).'/files/etc/etc/path.yourfile'; and so on
    

    你可以试试这个……

    $files_folder = dirname(__FILE__); //or go up as required.
    

    然后

     rename($files_folder."/".$folder_name."/un_approved/".$approve_employee_username, $files_folder."/".$folder_name."/approved/".$approve_employee_username);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      • 2019-12-22
      • 2020-06-24
      • 1970-01-01
      • 1970-01-01
      • 2020-05-27
      • 2017-02-05
      相关资源
      最近更新 更多