关于上传原理和简单的上传操作:
1、Form标签enctype属性
表单中enctype="multipart/form-data"是用于设置表单的MIME编码。
默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;
只有使用了multipart/form-data且提交方式为Post才能完整的传递文件数据。
2、MAX_FILE_SIZE 隐藏字段
MAX_FILE_SIZE 隐藏字段(单位为字节)必须放在文件输入字段之前,其值为接收文件的最大尺寸。这是对浏览器的一个建议,PHP 也会检查此项。
在浏览器端可以简单绕过此设置,因此不要指望用此特性来阻挡大文件。(不过鉴于友好性最好还是在表单中加上此项目,因为它可以避免用户在花时间等待上传大文件之后才发现文件过大上传失败的麻烦。)
//upload.php print_r($_FILES);?>Array(
[file] => Array
(
[name] => image.jpg
[type] => image/jpeg
[tmp_name] => F:\wamp\tmp\php41BB.tmp
[error] => 0
[size] => 73886
)
)
3、全局变量 $_FILES的应用
$_FILES['file']['name']; //为上传文件的原文件名
$_FILES['file']['type']; //为上传文件的 MIME 类型
$_FILES['file']['size']; //已上传文件的大小,单位为字节
$_FILES['file']['tmp_name']; //文件被上传后在服务端储存的临时文件名()
$_FILES['file']['error']; //文件上传的错误代码
4、默认情况下,上传文件会保存在服务端的临时文件夹中,其目录在php.ini中设置
php.ini与文件上传有关的一些常用设置:
file_uploads ; //是否允许通过HTTP上传文件的开关。默认为ON即是开upload_tmp_dir ; //文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹upload_max_filesize; //即允许上传文件大小的最大值。默认为2Mpost_max_size; //指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M
简单的代码:
//取得上传文件信息
$fileName=$_FILES['file']['name']; $fileType=$_FILES['file']['type']; $fileError=$_FILES['file']['error']; $fileSize=$_FILES['file']['size']; $tempName=$_FILES['file']['tmp_name'];//临时文件名
//定义上传文件类型
$typeList = array("image/jpeg","image/jpg","image/png","image/gif"); //定义允许的类型
if($fileError>0){ //上传文件错误编号判断
switch ($fileError) { case 1: $message="上传的文件超过了php.ini 中 upload_max_filesize 选项限制的值。";
break; case 2: $message="上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。";
break; case 3: $message="文件只有部分被上传。";
break; case 4: $message="没有文件被上传。"; break; case 6: $message="找不到临时文件夹。";
break; case 7: $message="文件写入失败";
break; case 8: $message="由于PHP的扩展程序中断了文件上传"; break;
} exit("文件上传失败:".$message);
} if(!is_uploaded_file($tempName)){ //判断是否是POST上传过来的文件
exit("不是通过HTTP POST方式上传上来的");
}else{ if(!in_array($fileType, $typeList)){ exit("上传的文件不是指定类型");
}else{ if(!getimagesize($tempName)){ //避免用户上传恶意文件,如把病毒文件扩展名改为图片格式
exit("上传的文件不是图片");
}
} if($fileSize>100000){ //对特定表单的上传文件限制大小
exit("上传文件超出限制大小");
}else{ //避免上传文件的中文名乱码
$fileName=iconv("UTF-8", "GBK", $fileName);//把iconv抓取到的字符编码从utf-8转为gbk输出
$fileName=str_replace(".", time().".", $fileName);//在图片名称后加入时间戳,避免重名文件覆盖
if(move_uploaded_file($tempName, "uploads/".$fileName)){ echo "上传文件成功!";
}else{ echo "上传文件失败";
}
}
}?>
5、关于php上传文件的一些常用函数:
file_exists() //检查文件或目录是否存在is_uploaded_file() //判断文件是否是通过 HTTP POST 上传的move_uploaded_file() //将上传的文件移动到新位置is_writable() //判断给定的文件名是否可写iconv() //字符编码互转str_replace() //字符串替换(更改文件名,防重名)getimagesize() //检查是否为图片文件(其他类型的文件就算后缀名改了也能被检测到)

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

PHP tetap penting dalam proses pemodenan kerana ia menyokong sejumlah besar laman web dan aplikasi dan menyesuaikan diri dengan keperluan pembangunan melalui rangka kerja. 1.Php7 meningkatkan prestasi dan memperkenalkan ciri -ciri baru. 2. Rangka kerja moden seperti Laravel, Symfony dan CodeIgniter memudahkan pembangunan dan meningkatkan kualiti kod. 3. Pengoptimuman prestasi dan amalan terbaik terus meningkatkan kecekapan aplikasi.

Phphassignificantelympactedwebdevelopmentandextendsbeyondit.1) itpowersmajorplatformslikeworderpressandexcelsindatabaseIntions.2) php'SadaptabilityAldoStoScaleforlargeapplicationFrameworksLikelara.3)

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

Dalam PHP, gunakan kata kunci klon untuk membuat salinan objek dan menyesuaikan tingkah laku pengklonan melalui kaedah Magic \ _ _ _. 1. Gunakan kata kunci klon untuk membuat salinan cetek, mengkloning sifat objek tetapi bukan sifat objek. 2. Kaedah klon \ _ \ _ boleh menyalin objek bersarang untuk mengelakkan masalah menyalin cetek. 3. Beri perhatian untuk mengelakkan rujukan pekeliling dan masalah prestasi dalam pengklonan, dan mengoptimumkan operasi pengklonan untuk meningkatkan kecekapan.

PHP sesuai untuk pembangunan web dan sistem pengurusan kandungan, dan Python sesuai untuk sains data, pembelajaran mesin dan skrip automasi. 1.PHP berfungsi dengan baik dalam membina laman web dan aplikasi yang cepat dan berskala dan biasanya digunakan dalam CMS seperti WordPress. 2. Python telah melakukan yang luar biasa dalam bidang sains data dan pembelajaran mesin, dengan perpustakaan yang kaya seperti numpy dan tensorflow.


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

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Dreamweaver Mac版
Alat pembangunan web visual