dplase3140 2012-08-09 12:19
浏览 52
已采纳

文件重命名在Web服务器上失败

I have the following script which works fine locally:

    <?php

//Report all errors
error_reporting(E_ALL);

if ($handle = opendir('instance/system/application/images/dir/testimages/')){

    while (false !== ($fileName = readdir($handle))){
        $newName = str_replace(" ", "_", $fileName);
        rename($fileName, $newName);
    }

    echo "All files have been renamed";
    closedir($handle);
}
?>

However when run on the web server I get the following error:

Warning: rename(.,.) [function.rename]: Permission denied in C:\inetpub\vhosts\domain.com\httpdocsename.php on line 10

Any idea how I can resolve this?

Cheers

Note:

I am using IIS7 and a windows server.

  • 写回答

4条回答 默认 最新

  • duanduanxi9441 2012-08-09 13:07
    关注

    Couple of things:

    In windows, go to the directory where you want to rename files, right click, and look at the permissions for both the folder and the files within. Whatever the process is running the web server needs to have permissions to modify those files, or create new files in the directory.

    Secondly, and more subtly - I think the root cause is a bug. In the PHP manual, there's a comment suggesting that rename will put the file in the current working directory unless you specify your full directory path in the "to" argument. So, if you are trying to rename "c:\instance/system/application/images/dir/testimages/banana pic.jpg" to banana_pic.jpg, your current code will write that to the current working directory - probably the location of php.exe - that will fail.

    I'd try to specify the folder in which you want the renamed file to be placed, and see if that works...

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号