Langkah-langkah untuk memuat naik fail php

Langkah-langkah memuat naik fail

Untuk mempelajari PHP dengan lebih baik, kami telah meringkaskan muat naik fail PHP yang sangat kompleks kepada 6 langkah.

Dalam penggunaan sebenar, anda boleh melengkapkan muat naik fail PHP dengan jayanya dengan mengikuti 6 langkah berikut:

1 Tentukan sama ada terdapat kod ralat


Penjelasan terperinci tentang kod ralat yang dikembalikan oleh sistem:

错误码说明
0无误,可以继续进行文件上传的后续操作。
1超出上传文件的最大限制,upload_max_filesize = 2M php.ini中设置,一般默认为2M。可根据项目中的实际需要来修改
2超出了指定的文件大小,根据项目的业务需求指定上传文件的大小限制
3只有部分文件被上传
4文件没有被上传
6找不到临时文件夹,可能目录不存在或没权限
7文件写入失败,可能磁盘满了或没有权限


Nota: Tiada 5 dalam kod ralat.

2. Pertimbangan tersuai sama ada saiz fail melebihi julat

Apabila membangunkan fungsi muat naik. Sebagai pembangun, kami, sebagai tambahan kepada nilai muat naik maksimum yang dinyatakan dalam php.ini.

Kami biasanya juga menetapkan nilai, iaitu had saiz muat naik yang ditentukan oleh perniagaan.

Contohnya:
Sina Weibo atau Zon QQ hanya membenarkan satu gambar avatar 2M. Apabila memuat naik album, anda boleh memuat naik lebih daripada 2J.

Jadi, sistemnya menyokong muat naik fail yang lebih besar.

Saiz fail penghakiman di sini digunakan untuk mengehadkan saiz fail yang dimuat naik yang ingin kami tentukan dalam perniagaan sebenar.

3. Tentukan sama ada nama akhiran dan jenis mim sepadan

Terdapat juga orang jahat dalam dunia dalam talian. Mereka akan memasukkan virus ke dalam gambar, memuat naik virus dalam lampiran, dan mereka akan memasukkan virus atau gambar lucah ke dalam halaman web.

Kita perlu menilai jenis akhiran dan mime bagi fail yang dimuat naik.

MIME (Sambungan Mel Internet Serbaguna) ialah jenis sambungan mel Internet pelbagai guna. Ia adalah sejenis kaedah yang menetapkan fail dengan sambungan tertentu untuk dibuka oleh aplikasi Apabila fail dengan sambungan itu diakses, penyemak imbas secara automatik akan menggunakan aplikasi yang ditentukan untuk membukanya. Ia kebanyakannya digunakan untuk menentukan beberapa nama fail yang ditentukan pelanggan dan beberapa kaedah pembukaan fail media.

Apabila menentukan akhiran dan jenis MIME, kami akan menggunakan fungsi PHP in_array(), yang lulus dalam dua parameter.
Parameter pertama ialah nilai yang akan dinilai
Parameter kedua ialah tatasusunan julat.

Kami menggunakan fungsi ini untuk menentukan sama ada sambungan fail dan jenis mime berada dalam julat yang dibenarkan.

4. Jana nama fail

Fail kami telah berjaya dimuat naik, tetapi ia tidak akan menyimpan nama asal.
Kerana sesetengah orang yang mempunyai kata kunci sensitif dalam nama asal mereka akan melanggar undang-undang dan peraturan yang berkaitan di negara kita.

Kami boleh menggunakan date(), mt_rand() atau unique() untuk menjana nama fail rawak.

5. Tentukan sama ada ia adalah fail yang dimuat naik

Apabila fail berjaya dimuat naik, sistem akan memuat naik fail sementara yang dimuat naik ke direktori sementara sistem. Buat fail sementara.

Nama fail sementara juga akan dijana. Apa yang perlu kita lakukan ialah mengalihkan fail sementara ke direktori yang ditentukan pada sistem.

Adalah tidak saintifik untuk tidak bergerak secara membuta tuli sebelum bergerak, atau bergerak secara salah. Sebelum bergerak, kita perlu menggunakan fungsi yang berkaitan untuk menentukan sama ada fail yang dimuat naik adalah fail sementara.

is_uploaded_file() lulus dalam parameter (nama fail cache dalam $_FILES) untuk menentukan sama ada nama yang diluluskan adalah fail yang dimuat naik.

6. Alihkan fail sementara ke lokasi yang ditentukan

Fail sementara ialah fail sementara yang sebenar, kami perlu mengalihkannya ke direktori tapak web kami.

Jadikan data dalam direktori tapak web kami boleh diakses oleh orang lain.

Kami menggunakan: move_uploaded_file().
Fungsi ini mengalihkan fail yang dimuat naik ke lokasi yang ditentukan dan menamakannya.
Lepaskan dua parameter:
Parameter pertama ialah fail yang dimuat naik untuk dialihkan;
Parameter kedua ialah rentetan yang menggabungkan folder dan nama yang ditentukan.


Meneruskan pembelajaran
||
<form action="" enctype="multipart/form-data" method="post" name="uploadfile">上传文件:<input type="file" name="upfile" /><br> <input type="submit" value="上传" /></form> <?php //print_r($_FILES["upfile"]); if(is_uploaded_file($_FILES['upfile']['tmp_name'])){ $upfile=$_FILES["upfile"]; //获取数组里面的值 $name=$upfile["name"];//上传文件的文件名 $type=$upfile["type"];//上传文件的类型 $size=$upfile["size"];//上传文件的大小 $tmp_name=$upfile["tmp_name"];//上传文件的临时存放路径 //判断是否为图片 switch ($type){ case 'image/pjpeg':$okType=true; break; case 'image/jpeg':$okType=true; break; case 'image/gif':$okType=true; break; case 'image/png':$okType=true; break; } if($okType){ /** * 0:文件上传成功<br/> * 1:超过了文件大小,在php.ini文件中设置<br/> * 2:超过了文件的大小MAX_FILE_SIZE选项指定的值<br/> * 3:文件只有部分被上传<br/> * 4:没有文件被上传<br/> * 5:上传文件大小为0 */ $error=$upfile["error"];//上传后系统返回的值 echo "================<br/>"; echo "上传文件名称是:".$name."<br/>"; echo "上传文件类型是:".$type."<br/>"; echo "上传文件大小是:".$size."<br/>"; echo "上传后系统返回的值是:".$error."<br/>"; echo "上传文件的临时存放路径是:".$tmp_name."<br/>"; echo "开始移动上传文件<br/>"; //把上传的临时文件移动到up目录下面 move_uploaded_file($tmp_name,'up/'.$name); $destination="up/".$name; echo "================<br/>"; echo "上传信息:<br/>"; if($error==0){ echo "文件上传成功啦!"; echo "<br>图片预览:<br>"; echo "<img src=".$destination.">"; //echo " alt=\"图片预览:\r文件名:".$destination."\r上传时间:\">"; }elseif ($error==1){ echo "超过了文件大小,在php.ini文件中设置"; }elseif ($error==2){ echo "超过了文件的大小MAX_FILE_SIZE选项指定的值"; }elseif ($error==3){ echo "文件只有部分被上传"; }elseif ($error==4){ echo "没有文件被上传"; }else{ echo "上传文件大小为0"; } }else{ echo "请上传jpg,gif,png等格式的图片!"; } } ?>
  • Cadangan kursus
  • Muat turun perisian kursus