-4

我已经尝试了所有我知道的方法:

<?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,但没有真正创建文件。

4

1 回答 1

0

谢谢你们。

问题出在代码的另一部分,它处理将要创建的文件的名称。所以,它正在覆盖文件,我无法找到我正在搜索的名称的文件。

不过谢谢大家,已经解决了。

于 2013-08-28T14:25:20.817 回答