簡體   English   中英

PHP 創建一個txt文件並保存到根目錄

[英]PHP Create and Save a txt file to root directory

我正在嘗試創建一個文件並將其保存到我網站的根目錄,但我不知道它在哪里創建文件,因為我看不到任何文件。 而且,如果可能的話,我每次都需要覆蓋該文件。

這是我的代碼:

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

幾年前就有人問過這個問題,但這里有一種使用 PHP5 或更新版本的現代方法。

  $filename = 'myfile.txt'
  if(!file_put_contents($filename, 'Some text here')){
   // overwriting the file failed (permission problem maybe), debug or log here
  }

如果該文件不存在於該目錄中,它將被創建,否則它將被覆蓋,除非設置了 FILE_APPEND 標志。 file_put_contents是一個內置函數,從 PHP5 開始就可用。

file_put_contents 的文檔

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM