PHP Создание и сохранение файла txt в корневой каталог - программирование
Подтвердить что ты не робот

PHP Создание и сохранение файла txt в корневой каталог

Я пытаюсь создать и сохранить файл в корневом каталоге моего сайта, но я не знаю, где он создает файл, так как я не вижу ни одного. И мне нужно, чтобы файл каждый раз перезаписывался, если это возможно.

Вот мой код:

$content = "some text here";
$fp = fopen("myText.txt","wb");
fwrite($fp,$content);
fclose($fp);

Как настроить сохранение в корне?

4b9b3361

Ответ 1

Создает файл в том же каталоге, что и ваш script. Попробуйте это вместо.

$content = "some text here";
$fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/myText.txt","wb");
fwrite($fp,$content);
fclose($fp);

Ответ 2

Если вы используете PHP на Apache, вы можете использовать переменную среды, называемую DOCUMENT_ROOT. Это означает, что путь является динамическим и может перемещаться между серверами, не вникая в код.

<?php
  $fileLocation = getenv("DOCUMENT_ROOT") . "/myfile.txt";
  $file = fopen($fileLocation,"w");
  $content = "Your text here";
  fwrite($file,$content);
  fclose($file);
?>

Ответ 3

fopen() откроет ресурс в том же каталоге, что и файл, выполняющий команду. Другими словами, если вы просто запускаете файл ~/test.php, ваш script создаст файл ~/myText.txt.

Это может немного запутать, если вы используете переписывание URL-адресов (например, в среде MVC), так как это, скорее всего, создаст новый файл в любом каталоге, в котором содержится файл root.php.

Кроме того, у вас должны быть установлены правильные разрешения и вы можете протестировать их перед записью в файл. Следующее поможет вам отладить:

$fp = fopen("myText.txt","wb");
if( $fp == false ){
    //do debugging or logging here
}else{
    fwrite($fp,$content);
    fclose($fp);
}