Я пытаюсь создать и сохранить файл в корневой каталог моего сайта, но я не знаю, где его создание для файла, поскольку я не вижу ничего … Мне нужно, чтобы файл был перезаписан каждый раз, если это возможно
Вот код:
$content = "some text here"; $fp = fopen("myText.txt","wb"); fwrite($fp,$content); fclose($fp);
Как я могу установить его для сохранения в корне?
Он создает файл в том же каталоге, что и ваш скрипт. Попробуйте это вместо этого.
$content = "some text here"; $fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/myText.txt","wb"); fwrite($fp,$content); fclose($fp);
Если вы используете PHP на Apache, вы можете использовать переменную среды, называемую DOCUMENT_ROOT
. Это означает, что путь является динамическим и может перемещаться между серверами, не вникая в код.
<?php $fileLocation = getenv("DOCUMENT_ROOT") . "/myfile.txt"; $file = fopen($fileLocation,"w"); $content = "Your text here"; fwrite($file,$content); fclose($file); ?>
fopen()
откроет ресурс в том же каталоге, что и файл, выполняющий команду. Другими словами, если вы просто запустили файл ~ / test.php, ваш скрипт создаст файл ~ / myText.txt.
Это может немного запутать, если вы используете переписывание URL-адресов (например, в среде MVC), поскольку оно, скорее всего, создаст новый файл в любом каталоге, содержащем файл root index.php.
Кроме того, у вас должны быть установлены правильные разрешения и вы можете протестировать их перед записью в файл. Следующее поможет вам отладить:
$fp = fopen("myText.txt","wb"); if( $fp == false ){ //do debugging or logging here }else{ fwrite($fp,$content); fclose($fp); }