在我的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
哪位大牛幫忙指點一下,這是爲什麼?