[英]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 開始就可用。
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.