- <html>
- <head>
- <title>檔案上傳</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- </head>
- <body>
- <form action="" method="post" enctype="multipart/form-data">
- 請選擇上傳的圖片:<input type="file" name="file_input" /><br />
- <input type="submit" name="send" value="送出" />
- </form>
- <?php
- $upload_dir = './photo/'; //檔案上傳的目錄
- $size_limit = 5*1024*1024*1024; //5GB
- $arr_ext = array('.jpg', '.png', '.bmp', '.gif', '.tif', '.pcx', '.psd'); //設定允許上傳的副檔名
- if(isset($_POST['send'])){ //判斷是否按下送出鈕, 且 $_POST['send'] 有值
- $file_name = strtolower($_FILES['file_input']['name']); //取得檔案的名稱 //strtolower 將英文字串轉為小寫
- $file_type = $_FILES['file_input']['type']; //取得檔案類型
- $file_size = $_FILES['file_input']['size']; //取得檔案大小
- $tmp_name = $_FILES['file_input']['tmp_name']; //取得檔案暫存路徑
- $ext = strrchr($file_name, '.'); //取得副檔名
-
- if(file_exists($tmp_name)){
- echo '存在';
- }else{
- echo '不存在';
- }
- /*echo $file_name.'<br />';
- echo $file_type.'<br />';
- echo $file_size.'<br />';
- echo $tmp_name;*/
- if(!is_uploaded_file($tmp_name)){//判斷使用者是否正常方式上傳
- echo '上傳失敗,沒有選取上傳檔案。';
- }else if($file_size > $size_limit){ //若使用者上傳的檔案大小大於設定值時
- echo '檔案太大。';
- }else if(!in_array($ext, $arr_ext)){ //判斷 $ext 是否在 $arr_ext陣列裡
- echo '上傳失敗,只允許 '.implode(',', $arr_ext).' 副檔名';
- }else if(move_uploaded_file($tmp_name, $upload_dir.iconv('utf-8', 'big5', $file_name))){//檢查上傳狀態
- echo '上傳成功';
- }else{
- echo '上傳失敗';
- }
- }
-
- ?>
- </body>
- </html>
複製代碼 |