关于mkdir()的一个奇怪的问题。

在我的public function addAction()中包含如下一段程序。

$dir_patient="D:\\tumor\\".$this->view->patientID;//为了创建新的数据文件夹

$dir_study="D:\\tumor\\".$this->view->patientID."\\".$this->view->studyID;//为了创建新的数据文件夹

$dir="D:\\tumor\\".$this->view->patientID."\\".$this->view->studyID."\\mrs".$this->view->mrsID;

if (!is_dir($dir_patient))
     mkdir($dir_patient,0700);//如果不经过这一步,下面的一段程序if程序就不能执行,原因不明。
    if (!is_dir($dir_study))
    mkdir($dir_study,0700);//如果不经过这一步,下面的一段程序if程序就不能执行,原因不明。
    if (!$dir_exist)  
    { while (!is_dir($dir))
      {   
    mkdir($dir,0700);
      }
    }

程序可以云心成功,且能正确的建立的相关的文件夹(D盘中的tumor文件夹已经事先建好)。


但是,如果把

if (!is_dir($dir_patient))
       mkdir($dir_patient,0700);//如果不经过这一步,下面的一段程序if程序就不能执行,原因不明。
     if (!is_dir($dir_study))
      mkdir($dir_study,0700);//如果不经过这一步,下面的一段程序if程序就不能执行,原因不明。
     if (!$dir_exist)   
     { while (!is_dir($dir))
        {   
     mkdir($dir,0700);
        }
     }

改为:

if (!$dir_exist)   
     { while (!is_dir($dir))
        {   
     mkdir($dir,0700);
        }
     }

从逻辑上看,这两端程序所实现的效果是一样的,但是,问题是,第二段程序不能运行成功,且服务器会运行好久好久后,给出一张空的网页。


总结问题,我猜想:只能一步一步的 mkdir($dir_patient,0700);


为了验证猜想,我写了如下一段程序:

public function createfileAction()
    {
         $dir="D:\\nn\\mm\\zz";
         if (!is_dir($dir))
    mkdir($dir,0700);
    if (!is_dir($dir))
    mkdir($dir,0700);
    if (!is_dir($dir)) 
    mkdir($dir,0700);    
    }

运行结果却是三个警告:

Warning: mkdir() [function.mkdir]: No such file or directory in D:\php\wamp\www\mvcnew\application\modules\mrs\controllers\IndexController.php on line 607

Warning
: mkdir() [function.mkdir]: No such file or directory in D:\php\wamp\www\mvcnew\application\modules\mrs\controllers\IndexController.php on line 609

Warning
: mkdir() [function.mkdir]: No such file or directory in D:\php\wamp\www\mvcnew\application\modules\mrs\controllers\IndexController.php on line 611


哪位大牛帮忙指点一下,这是为什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值