PHP開發之簡單檔案上傳到本機檔案保存(一)

本節我們透過PHP程式碼實作上傳檔案到本機資料夾下,並且能夠在目前頁面顯示。

根據上一節所說的思路,我們先建立一個簡單上傳檔案的表單

<html>
<head>
  <meta charset="utf-8">
  <title>图片上传</title>
  <style type="text/css">
    <!--
    body
    {
      font-size: 16px;
    }
    input
    {
      background-color: #66CCFF;
      border: 1px inset #CCCCCC;
    }
    -->
  </style>
</head>
<body>
    <form enctype="multipart/form-data" method="post" name="upform">
      上传文件:
      <input name="upfile" type="file">
      <input type="submit" value="上传"><br>
      允许上传的文件类型为:
    </form>
    <br>图片预览:<br>
    <img src=""/>
</body>
</html>

這裡注意:

<form> 標籤的 enctype 屬性規定了在提交表單時要使用哪種內容類型。表單需要二進位資料時,例如檔案內容,請使用 "multipart/form-data"。

在頁面底部製作了一個圖片預覽<img>,可以顯示上傳的檔案。

後面透過PHP程式碼也可以顯示檔案儲存在本機資料夾下的檔案名,大小,長寬等資訊。


其次,我們要對上傳的檔案做一些限制說明:

上傳檔案的類型:$uptypes

<?php
    $uptypes=array(
      'image/jpg',
      'image/jpeg',
      'image/png',
      'image/gif',
      'image/bmp',
    );  //限制上传格式为:jpg, jpge, png, gif, bmp
?>

還可以設定上傳檔案大小,上傳檔案路徑等等,這裡我們新增了圖片浮水印設定。

<?php
    $max_file_size=2000000;     //上传文件大小限制, 单位BYTE
    
    $destination_folder="uploadimg/"; //上传文件路径,默认本地路径
    
    $watermark=1;      //是否附加水印(1为加水印,其他为不加水印);
    
    $watertype=1;      //水印类型(1为文字,2为图片)
    
    $waterposition=1;     //水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);
    
    $waterstring = "";  //水印字符串
    
    $waterimg="";    //水印图片
    
    $imgpreview=1;      //是否生成预览图(1为生成,其他为不生成);
    
    $imgpreviewsize=1/2;    //缩略图比例
?>


#
繼續學習
||
<html> <head> <meta charset="utf-8"> <title>图片上传</title> <style type="text/css"> <!-- body { font-size: 16px; } input { background-color: #66CCFF; border: 1px inset #CCCCCC; } --> </style> </head> <body> <form enctype="multipart/form-data" method="post" name="upform"> 上传文件:<br><br> <input name="upfile" type="file"> <input type="submit" value="上传"><br><br> 允许上传的文件类型为: </form> <br>图片预览:<br> <img src=""/> </body> </html>