上傳文件的js獲取文件流,php input file 上傳文件類型,php輕松實現文件上傳功能

 2023-10-20 阅读 23 评论 0

摘要:本文分為五個部分針對php上傳文件進行分析講解,具體內容如下文件上傳變量上傳文件的js獲取文件流。將服務器上的臨時文件移動到指定目錄下php.ini上傳相關配置error錯誤號php input函數。單文件上傳實例1.文件上傳變量//$_FILES:文件上傳變量input選擇器、#name 文件的

本文分為五個部分針對php上傳文件進行分析講解,具體內容如下

文件上傳變量

上傳文件的js獲取文件流。將服務器上的臨時文件移動到指定目錄下

php.ini上傳相關配置

error錯誤號

php input函數。單文件上傳實例

1.文件上傳變量

//$_FILES:文件上傳變量

input選擇器、#name 文件的名稱

#type 文件的類型

#tmp_name 臨時文件名

文件上傳vue。#size 文件的大小

#error 錯誤信息

$filename = $_FILES["myFile"]["name"];

PHP文件上傳、$type = $_FILES["myFile"]["type"];

$tmp_name = $_FILES["myFile"]["tmp_name"];

$size = $_FILES["myFile"]["size"];

$error = $_FILES["myFile"]["error"];

2.將服務器上的臨時文件移動到指定目錄下

//1.move_uploaded_file($tmp_name,$destination):將服務器上的臨時文件移動到指定目錄下

#上傳后文件名字,移動成功返回true,否則返回false

move_uploaded_file($tmp_name,"D:/".$filename);

//2.copy($tmp_name,$destination)

copy($tmp_name,"D:/".$filename);

3.php.ini上傳相關配置

# file_uploads=On 支持HTTP上傳

# upload_tmp_dir="" 臨時文件保存的目錄

# upload_max_filesize=2M 允許上傳文件的最大值

# max_file_uploads=20 允許一次上傳的最大文件數

# post_max_size=8M post方式發送數據的最大值

# max_execution_time = 1 設置了腳本被解析器終止之前允許的最大執行時間,單位為秒,防止程序寫的不好而占盡服務器資源

# max_input_time = 60 腳本解析輸入數據允許的最大時間,單位為秒

# max_input_nesting_level = 64 設置輸入變量的嵌套深度

# max_input_vars = 1000 接受多少輸入的變量

# memory_limit = 128M 最大單線程的獨立內存使用量

4.error錯誤號

# 0,沒有錯誤發生,文件上傳成功。

# 1,上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值。

# 2,上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。

# 3,文件只有部分被上傳。

# 4,沒有文件被上傳。

# 6,找不到臨時文件夾。

# 7,文件寫入失敗。

# 8,上傳的文件被PHP擴展程序中斷

5.單文件上傳實例form.html

Document

請選擇你要上傳的文件:

fileUpload.php

header("content-type:text/html;charset:utf-8");

$fileInfo = $_FILES["myFile"];

$filename = $fileInfo["name"];

$type = $fileInfo["type"];

$error = $fileInfo["error"];

$size = $fileInfo["size"];

$tmp_name = $fileInfo["tmp_name"];

$maxSize=2*1024*1024;//允許的最大值

$allowExt=array("jpeg","jpg","gif");

$flag = true;//檢測是否為真實的圖片類型

//判斷錯誤號

if($error == 0){

//判斷上傳文件的大小

if($size>$maxSize){

exit("上傳文件過大");

}

//檢測文件類型

//取出文件擴展名

$ext = pathinfo($filename,PATHINFO_EXTENSION);

if(!in_array($ext,$allowExt)){

exit("非法文件類型");

}

//檢測是否為真實的圖片類型

if($flag){

if(@!getimagesize($tmp_name)){

exit("不是正的圖片類型");

}

}

//創建目錄

$path = "D:/test/";

if(!file_exists($path)){

mkdir($path,0777,true);

chmod($path,0777);

}

//確保文件名唯一,防止重名覆蓋

$uniName = md5(uniqid(microtime(true),true)).".".$ext;

$destination = $path.$uniName;

if(@move_uploaded_file($tmp_name,$destination)){

echo "上傳成功";

}else{

echo "上傳失敗";

}

}else{

switch($error){

case 1:

case 2:

case 3:

case 4:

case 6:

case 7:

case 8:

echo "上傳錯誤";

break;

}

}

希望本文所述對大家學習php程序設計有所幫助。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/152890.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息