關(guān)于文件上傳我們講了很多,這只是一款最基本的簡(jiǎn)單的文件上傳功能,同時(shí)本教程也介紹了關(guān)于上傳的原理以及各種函數(shù)的使用與file的參數(shù)說(shuō)明,以及php.ihi設(shè)置上傳文件大小配置等.
1 如果實(shí)現(xiàn)小文件的上傳(2mb)一下是不需要對(duì)php教程.ini 中的配置進(jìn)行修改的,如果要是大文件的上傳就必須進(jìn)行配置的修改.
2 修改php.ini 中的內(nèi)容有:
post_max_size 指php通過(guò)表單post所能接收的最大值
upload_max_filesize 指允許上傳文件的最大值
3 上傳表單的設(shè)置,代碼如下:
- <form method=”post” action=”” enctype=”multipart/form-data”>
- <input name=”upfile” type=”file”>
- <input type=”hidden” name=”max_file_size” value=”1024000”>
- </form>
解釋:1首先上傳時(shí)entype屬性必須設(shè)為multipart/form-data,2 表單中最好加上 hidden隱藏域 name值為max_file_size,該隱藏域的作用不是真正去限制上傳文件大小的,而是為了避免用戶誤傳大文件而陷入無(wú)盡的等待中,真正限制大小的還是剛才php.ini 中的兩個(gè)修改項(xiàng).
4 預(yù)定義變量$_files
首先他是一個(gè)二維的數(shù)組.
$_files[‘upfile’][‘name’] 上傳文件的文件名
$_files[‘upfile’][‘size’] 上傳文件的大小
$_files[‘upfile’][‘tmp_name’] 文件上傳時(shí),文件首先被保存為臨時(shí)文件,改文件是臨時(shí)文件名.
$_files[‘upfile’][‘type’] 上傳文件的類型
$_files[‘upfile’][‘error’] 錯(cuò)誤代碼
注意 $_files[‘upfile’][‘name’] 這里的upfile 是與表單<input name=”upfile” type=”file”> 的name對(duì)應(yīng),千萬(wàn)別錯(cuò).
5 具體實(shí)現(xiàn),php實(shí)例代碼如下:
- <?php
- $filename=$_files['upfile']['name'];
- $tmp=$_files['upfile']['tmp_name'];
- $error=$_files['upfile']['error'];
- $path="./images/";
- if($error==0){
- if(is_uploaded_file($tmp)){//開(kāi)源代碼Vevb.com
- if(move_uploaded_file($tmp,$path.$filename)){
- echo "上傳成功!";
- }else{
- echo "<script> alert('文件不合法');history.go(-1);</script>";
- }
- }else{
- echo "<script> alert('非法操作!');history.go(-1);</script>";
- }
- }else{
- echo"<script> alert('上傳錯(cuò)誤,錯(cuò)誤類型:".$error."');history.go(-1);</script>";
- }
- ?>
新聞熱點(diǎn)
疑難解答