developer tip

PHP 루트 디렉토리에 txt 파일 생성 및 저장

copycodes 2020. 11. 14. 10:44
반응형

PHP 루트 디렉토리에 txt 파일 생성 및 저장


내 사이트의 루트 디렉터리에 파일을 만들고 저장하려고하는데 파일이 생성되는 위치를 알 수 없습니다. 그리고 가능하면 매번 파일을 덮어 써야합니다.

내 코드는 다음과 같습니다.

$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);

Apache에서 PHP를 실행하는 경우라는 환경 변수를 사용할 수 있습니다 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 프레임 워크에서)을 사용하는 경우 디렉토리에 루트 index.php 파일이 포함 된 모든 파일에 새 파일이 생성 될 가능성이 있으므로 약간 혼란 스러울 수 있습니다.

또한 올바른 권한 세트가 있어야하며 파일에 쓰기 전에 테스트 할 수 있습니다. 다음은 디버그하는 데 도움이됩니다.

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

참고 URL : https://stackoverflow.com/questions/9265274/php-create-and-save-a-txt-file-to-root-directory

반응형