2012-05-26 63 views
-2

如何使用Javascript(在服務器上)寫入文件?使用Javascript進行文件管理

我還需要閱讀該文件。 這裏是我的代碼:

function write() 
{ 
var = true; 
if(var = true) 
{ 
//write file 
    } 
} 
function read() 
{ 
//read file 
} 

回答

0

寫入文件不是JavaScript的功能。在最近的一些瀏覽器中,你可以閱讀它們,但這不是一個好的選擇。最好的方法是用PHP讀取它,並用XMLHttpRequest獲取響應。

的JavaScript

var xhr = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHttp'); 
xhr.onload = function(){ 
    window.console.log(this.response); 
} 
xhr.open('GET','/fileReader.php?fileName=foo.txt'); 
xhr.send(); 

PHP

$content = file_get_contents($_GET['fileName']); 
if($content) 
    echo $content; 
else echo "The file could not be loaded" 
+0

以及如何編寫文件(在php,asp,jsp等中) – Wolf

+0

@Wolf:你不能寫入文件的客戶端,除了瀏覽器自身的下載能力之外,這是一個安全問題,你是否喜歡點擊一個鏈接到一個頁面,運行一些js,並寫入任何你想要的系統?期間,結束的故事,並希望它保持這種方式;) – delicateLatticeworkFever

+0

我想寫在服務器上的文件 – Wolf

0

您可以通過,可能具有文件名或ID做一個AJAX請求讀取文件

var xhr = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHttp'); 
xhr.onload = function(){ 
    window.console.log(this.response); 
} 
xhr.open('GET','/readfile.php?id=1234'); 
xhr.send(); 

你可以寫該文件通過獲取來自可能的文本輸入的數據。假設輸入ID是在PHP端「文本」

var xhr = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHttp'); 
xhr.onload = function(){ 
    window.console.log(this.response); 
} 
xhr.open('POST','/write.php'); 
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
xhr.send("id=someid&text=" + document.getElementById("text").value); 

剛剛得到這個職位數據,如果你想Javascript才能做讀取或寫入寫的文件

$id = $_REQUEST["id"]; 
$text = $_REQUEST["text"] 
$file = fopen($id . ".txt","w"); // you can change w to a incase you want to append to existing content in the file 
fwrite($file,$text); 
fclose($file); 

,如據我所知只有一個HTML5的文件API,但只讀文件我猜。

0

如果我正確理解您的問題,您希望讀取/寫入服務器中的文件,並且您的服務器端語言爲javascript。 如果您使用節點,此鏈接:http://nodejs.org/api/fs.html#fs_fs_readfile_filename_encoding_callback 提供了相關信息。

+0

我不使用的NodeJS – Wolf

+0

在這種情況下,你可以使用JavaScript在瀏覽器中運行,除非你有一些明確的寫服務器端的文件內容服務器端腳本接收HTTP請求並在處理後將其寫入文件。之前發佈的解決方案只是假設服務器端語言是PHP。在將其寫入文件系統之前,請牢記相關的安全隱患並對服務器上的內容服務器執行適當的清理。 – lorefnon