在本教程中,我們將製作一個多文件上載PHP腳本,其中包含文件擴展名和大小的驗證,以進行安全上載並將文件信息保存到MySQL數據庫中。 在本教程中,我們將製作一個圖像上傳系統。這可用於上傳圖像,PDF,文檔,日誌或任何文件類型,確保您在腳本中進行更改。 如果您對文件上傳不熟悉,可以查看我們關於使用PHP進行簡單文件上傳的文章,以便開始使用基本知識。

HTML

這是一個簡單的HTML論壇,不會有任何樣式,因為我們專注於PHP上傳。

<form action="" method="POST" enctype="multipart/form-data">
    <input type="file" name="files[]" multiple="" />
    <input type="submit"/>
</form>

Comment

無法執行錯誤訊息

開啟模擬器時遇到這個錯誤訊息

Cannot launch AVD in emulator.
Output: emulator:
ERROR: x86 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAX kernel module is not installed!

Comment

Javascript filter函式,可以幫助我們過濾一個陣列中符合條件的元素,若不符合則刪除。不更改原陣列,而回傳新陣列。

filter 函式,接受一個 callback 函式,callback 可以有三個參數(element, index, array),

  • element:陣列元素的值。
  • index:陣列元素的所在位置。
  • arr:已經過 filter 處理的陣列

過濾陣列中值小於10的元素

var numbers = [20, 10, 9, 25, 1, 3, 8, 11];
var result = numbers.filter(function(element, index, arr){
    return element<=10;
});
console.log(result);
// [20, 10, 25, 11]

callback 中,回傳 false 的元素將會被移除,但注意元陣列並未改變,而是回傳新陣列。

Comment

NPM 的安裝與使用

NPM 全名為Node Package Manager,是附屬在 Node.js 中的套件管理工具,我們在安裝 Node.js 時,就可以順便將 NPM 安裝到電腦中,並且在命令列 / 終端機模式中使用。

專案初始化

利用 npm 指令,可以協助我們建立 Node.js 專案的描述檔,或稱為初始化專案,命令如下:

//協助我們建立 Node.js 專案的描述檔
npm init

在打入 npm init 後,會被要求輸入幾個欄位

package name: 你這個 Project 要叫什麼名字
version: 你決定這個 Project 現在該是第幾版
description: Project 基本介紹
entry point: 進入點,如果要跑你的 Project 應該要執行哪個檔案
author: 作者(自己)
license: 你這個 Project 是採用什麼授權的
test command: 這個不太重要,待會會說明

基本上結束後,你可以看到這個資料夾底下,新增了一個 Package.json

Comment

如下將fetch寫成函數,返回值時會發現,控制台顯示我的數據Promise {[[PromiseStatus]]: "resolved", [[PromiseValue]],這樣的方式要如何取得資料來應用呢?。

將提取api fetch寫成函式調用

function apiGetAll (api) {
    return fetch(api, {
        headers: { "content-type": "application/json" }
    })
        .then(response => response.json().then(json => ({ json, response })))
        .then(({ json, response }) => {
            if (!response.ok) {
                return Promise.reject(json);
            }

            return json;
        })
        .then(response => response, error => error);
}

Comment

Copyright © 2018 ucamc