我正在嘗試構建一個只做三件事的頁面:
- 讓用戶選擇一個檔案(特定的 .json 檔案)
- 只需讀取檔案的內容并將它們存盤在變數中。(不要存放在任何地方)
- 使用 Javascript 進一步處理內容的變數。(我將使用 JS 將檔案轉換為 XML。我已準備好轉換代碼并正常作業,它只需要 json 字串,該字串將從檔案內容的變數中獲取。轉換為 XML 后,我將匯出XML 檔案,以便用戶下載它,并將其匯入我的 MS Excel 作業表中,該作業表具有用于填充資料的 XML 映射。[我尚未確定匯出選項])
到目前為止,我已經獲得了一些代碼片段以用于我的代碼的某些部分:
要訪問 JS 中的 php 變數(包含內容):
<?php
$somevar = 'Hi Thunkable!';
?>
<script>
var msg = <?php echo $somevar; ?>;
.... process the variable further
</script>
輸入型別:上傳按鈕的檔案表單, 因為我在當前檔案中有 JS 代碼,如何使表單不將資料發送到另一個 php 檔案?
<form enctype="multipart/form-data" action="__URL__" method="POST">
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
對我來說唯一剩下的部分是正如我上面所說的,不是將上傳的檔案資料發送到另一個 PHP 檔案,而是將其存盤在一個變數中。我發現$txt = file_get_contents($_FILES['userfile']['tmp_name']);可以從檔案中獲取內容。
總而言之,我只是想將所有代碼保存在一個 HTML 檔案中,其中包括上傳檔案、讀取其內容并存盤在 var. 中,以及進一步處理內容。這樣的事情可以做嗎?我是 PHP/HTML/JS 的初學者,所以我想不出任何關于我的問題的事先搜索......
uj5u.com熱心網友回復:
您可以使用物件 FileReader 從輸入型別檔案中讀取檔案
這是示例:
(function(){
function onChange(event) {
var reader = new FileReader();
reader.onload = (event)=>{
alert(event.target.result);
let data = JSON.parse(event.target.result);
//process the data here
console.log(data);
}
reader.readAsText(event.target.files[0]);
}
document.getElementById('file').addEventListener('change', onChange);
}());
<input id="file" type="file" accept="application/JSON" />
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/366124.html
標籤:javascript php html 输入类型文件
上一篇:BMI計算器JavaScript
