无法打开流:没有这样的目录文件... PHP fopen

时间:2014-06-15 18:40:40

标签: php file cookies directory fopen

这是我的代码

include 'connection.php';
setcookie('username',$name,time()+86400,"/");
echo $_COOKIE['username'];
$my_file = '/../../users/'.$name."/index.php";
$handle = fopen($my_file, 'w') or die('Cannot open file:  '.$my_file);

当代码运行时,我希望它创建一个目录为/../../users/[username]的文件,其中[username]存储在$name变量中。当我运行我的代码时,它只是给我一个糟糕的错误,它不会在上面的第6行之后运行任何代码。

它不会创建文件,错误是......

  

警告:fopen(/../../ users / codemaster7 / index.php)[function.fopen]:无法打开流:/ nfs / c02 / h10 / mnt / 45563 /中没有这样的文件或目录第107行的domains / pizzascripters.com / html / projects / nik / Champion / register / index.php   无法打开文件:/../../ users / codemaster7 / index.php

有没有人知道最新情况以及如何解决?

3 个答案:

答案 0 :(得分:2)

fopen只能在指定路径创建文件,但不能创建任何目录。在调用fopen之前,您必须使用mkdir之类的内容来创建新目录。

答案 1 :(得分:2)

1 include 'connection.php';
2 setcookie('username',$name,time()+86400,"/");
3 echo $_COOKIE['username'];
4 $my_file = 'index.php';
5 $handle = fopen($my_file, 'w') or die('Cannot open file: '.$my_file);

我将文件目录更新为第4行中的文件名。如果您想将该目录用作参数,则使用函数文件($ myfile);从文件中返回数据数组。

答案 2 :(得分:0)

  

当你错过或拼错像我这样做的时候经常会发生这个错误

$path = Yii::getAlias('@common') .'/upload/images/'. $model

这个拼写是 上传 ,但它应该是 上传 ,因为在我的项目中它是 上传 即可。错误的咒语给了我这个错误。所以这通常发生在路径未知时

$path = Yii::getAlias('@common') .'/uploads/images/'. $model