我已经尝试过所有我知道的方式:
<?php
DOMDocument::saveHTMLFile($filename);
?>
,
<?php
fopen(); //I tried all the options and modes.
fwrite();
fclose();
?>
和
<?php
file_put_contents($filename, $data);
?>
令我不安的是,所有三种方式都会返回写入的字节,就好像文件已经创建一样,但是当我搜索文件时,它根本就不存在。
有人有点意见吗?
实际代码:
-fopen attempt:
<?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,但没有真正创建文件。
答案 0 :(得分:0)
谢谢大家。
问题出在代码的另一部分,它处理将要创建的文件的名称。所以,它覆盖了文件,我无法找到我正在搜索的名称的文件。
但是谢谢大家,它已经解决了。