fopen PHP错误(期望参数1为资源)

时间:2016-10-09 19:54:49

标签: php fopen fclose

我正在尝试创建一个包含PHP文件的目录(该部分有效)。

现在我正在尝试打开该PHP文件并输入数据,但是我收到错误:

  

警告:fwrite()要求参数1为资源,字符串在第13行的C:\ wamp \ www \ dev 3 \ 1 \ index2.php中给出

  

警告:fclose()要求参数1为资源,字符串在第14行的C:\ wamp \ www \ dev 3 \ 1 \ index2.php中给出

这是我的代码:

<?php
$directory = substr(md5(rand(1000,10000)),2,8);
mkdir($directory);
$dir = './'.$directory.'/index.php';
$upload = fopen($dir,'x');
$data = '
data data data

';
fopen($dir, "w");
fwrite($dir, $data);
fclose($dir);
?>

1 个答案:

答案 0 :(得分:1)

你需要一个资源句柄而不是字符串,因为你的错误优雅地说:)

使用$upload代替$dir

<?php
$directory = substr(md5(rand(1000,10000)),2,8);
mkdir($directory);
$dir = './'.$directory.'/index.php';
$upload = fopen($dir,'x');
$data = '
data data data

';
/*fopen($dir, "w");
fwrite($dir, $data);
fclose($dir);
*/
fopen($upload, "w");
fwrite($upload, $data);
fclose($upload);
?>