php上传文件的原理
文件上传原理
将客户端的文件上传到服务器,再将服务器的临时文件上传到指定目录
客户端配置
提交表单
表单的发送方式为post
添加enctype="multipart/form-data"
服务器端配置(推荐学习:PHP编程从入门到精通)
file_uploads = On,支持HTTP上传
uoload_tmp_dir = ,临时文件保存目录
upload_max_filesize = 2M,允许上传文件的最大值
max_file_uploads = 20 ,允许一次上传到的最大文件数
post_max_size = 8M,post方式发送数据的最大值
max_execution_time = -1,设置了脚本被解析器终止之前允许的最大执行时间,单位为秒,防止程序写的不好而占尽服务器资源。-1代表无穷
max_input_time = 60 ,脚本解析输入数据允许的最大时间,单位为秒
max_input_nesting_level = 64 ,设置输入变量的嵌套深度
max_input_vars_ = 1000,接受多少输入的变量(限制分别应用于$_GET、$_POST和$_COOKIE超全局变量,将会导致E_WARNING的产生,更多的输入变量将会从请求中截断。
memory_limit = 128M,最大单线程的独立内存使用量。也就是一个web请求,给予线程最大的内存使用量的定义
错误信息说明
UPLOAD_ERR_OK:其值为0,没有错误发生,文件上传成功
UPLOAD_ERR_INI_SIZE:其值为1,上传的文件超过了php.ini中upload_max_filesize选项限制的值
UPLOAD_ERR_FORM_SIZE:其值为2,上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值
UPLOAD_ERR_PARTIAL:其值为3,文件只有部分被上传
UPLOAD_ERR_NO_FILE:其值为4,没有文件被上传
UPLOAD_ERR_NO_TMP_DIR:其值为6,找不到临时文件夹
UPLOAD_ERR_CANT_WRITE:其值为7,文件写入失败
UPLOAD_ERR_EXTENSION:其值为8,上传的文件被PHP扩展程序中断
客户端限制
通过表单隐藏域限制文件上传文件的最大值
<input type='hidden' name='MAX_FILE_SIZE' VALUE='字节数' />
通过accept属性限制上传文件类型
<input type='file' name='myFile' accept='文件的MIME类型' />
在客户端的限制,用户可在网页上修改代码后上传,故无实际意义。应在服务器端加以限制
限制上传文件的大小
限制上传文件类型
检测是否为真实图片类型
检测是否为HTTP POST方式上传
Atas ialah kandungan terperinci php上传文件的原理. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Log masuk CakePHP adalah tugas yang sangat mudah. Anda hanya perlu menggunakan satu fungsi. Anda boleh log ralat, pengecualian, aktiviti pengguna, tindakan yang diambil oleh pengguna, untuk sebarang proses latar belakang seperti cronjob. Mengelog data dalam CakePHP adalah mudah. Fungsi log() disediakan

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

CakePHP ialah rangka kerja MVC sumber terbuka. Ia menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP mempunyai beberapa perpustakaan untuk mengurangkan beban tugas yang paling biasa.
