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 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。