我已经尝试了所有我知道的方法:
<?php
DOMDocument::saveHTMLFile($filename);
?>
,
<?php
fopen(); //I tried all the options and modes.
fwrite();
fclose();
?>
和
<?php
file_put_contents($filename, $data);
?>
令我不安的是,这三种方式都返回给我写入的字节,就好像文件已经创建一样,但是当我搜索文件时,它根本不存在。
有人知道吗?
实际代码:
-fopen 尝试:
<?php$
$filename = $_SERVER['DOCUMENT_ROOT'] . '/view/pages/' . $pageName . '.html';
file = fopen($filename, 'x');
$save = fwrite($file, $this->topicData['html']);
fclose($file);
if($save) return 1;
else return "Error";
?>
-saveHTMLFile 尝试:
<?php
$filename = $_SERVER['DOCUMENT_ROOT'] . '/view/pages/' . $pageName . '.html';
$doc = new DOMDocument();
$doc->loadHTML($this->topicData['html']);
if ($doc->saveHTMLFile($filename)) return 1;
else return "Error";
?>
-file_put_contents 尝试:
<?php
$filename = $_SERVER['DOCUMENT_ROOT'] . '/view/pages/' . $newPage . '.html';
if(file_put_contents($filename, $this->topicData['html'])) return 1;
else return 'Error';
?>
它们都返回 1,但没有真正创建文件。