无法在新目录中使用fopen创建文件

时间:2012-01-18 07:26:18

标签: php

$new_file=$data['url']."_files";

if(!is_dir($new_file))
mkdir ($new_file);

echo $new_file=$new_file.'\class.ticket.php';


 $ourFileHandle = fopen($new_file, 'w') or die("can't open file");

echo  fwrite($ourFileHandle, $new_data) or die('cannot write');
fclose($ourFileHandle);

fwrite()返回1473

这不会在其他目录中写入新文件,而是在同一目录中创建文件'$ newfile \ class.ticket.php。

可以解释一下如何将文件放入新目录。

由于

2 个答案:

答案 0 :(得分:1)

您的服务器在哪个操作系统上运行?在linux中,目录分隔符是正斜杠,因此可能会导致问题。使用预定义常量DIRECTORY_SEPARATOR返回操作系统的正确分隔符。

答案 1 :(得分:0)

试试这个:

$data['url'] = 'foo';
$new_data = '<?php echo \'Hello World!\';';

$new_file=$data['url']."_files";

if(!is_dir($new_file))
  mkdir ($new_file);

$new_file=$new_file.'/class.ticket.php';

$ourFileHandle = fopen($new_file, 'w') or die("can't open file");

fwrite($ourFileHandle, $new_data) or die('cannot write');

fclose($ourFileHandle);