Я хочу создать новый .html-файл, используя php-скрипт, поскольку я новичок в php, я не понимаю, чтобы это сделать. Я основал код, но он не работает.
<?php $filename = '/path/to/foo.html'; if (file_exists($filename)) { echo "The file $filename exists"; } else { echo "The file $filename does not exist"; }?>
я хочу, чтобы при загрузке моей страницы новый файл .html должен был быть создан в моем каталоге path / с некоторыми элементами, такими как заголовок и т. д. в моем html-файле
Может кто-нибудь мне помочь??
Лучший способ сделать это – написать небольшой пустой html-файл и сохранить его где-нибудь; например, "template.html"
1) в PHP вы можете прочитать его с помощью
$newcontent = file_get_contents("template.html");
2) открыть новый файл с fopen, написать новый контент, закрыть файл. Готово.
if (!file_exists('newname.html')) { $handle = fopen('path/to/new/file/newname.html','w+'); fwrite($handle,$newcontent); fclose($handle); }
Итак, есть две части создания нового файла:
Сначала вам нужно создать контент этого файла. Здесь вы можете комбинировать HTML и PHP-код. Например
$TagCode = '<body>'.$Content.'</body>';
Или используйте nay template engine или генератор кода – и сгенерировали сохранение кода в любую переменную, которую вы будете использовать в качестве содержимого созданного файла.
И тогда вы можете создать собственный файл:
$File = fopen($Filename, $Mode);
где
`$Filename` means name of generated file (including its path) `$Mode` means mode of file generation
Оба аргумента могут передаваться также напрямую (например, fopen('file.ext', 'a')
)
Написание содержимого файла следует
$Status = fwrite($File, $TagCode);
Затем файл закрывается.
fclose($File);
И это все – если вы не будете контролировать, правильно ли был создан файл (тогда вы используете эту функцию, fwrite возвращает TRUE или FALSE – которую вы храните в любой переменной – лучше, чем прямая проверка).
if($this -> Content === FALSE) { ... /* error handling */ }
Существуют следующие способы открытия файлов
Вместо этого функции fopen
, fwrite
и fclose
могут использоваться также file_puts_content
, но мне больше нравится fopen, fwrite и fclose.