1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > PHP文件上传的实现及其介绍 php文件是什么文件 php上传文件代码 php 文件上传大小设

PHP文件上传的实现及其介绍 php文件是什么文件 php上传文件代码 php 文件上传大小设

时间:2023-11-19 10:37:06

相关推荐

PHP文件上传的实现及其介绍 php文件是什么文件 php上传文件代码 php 文件上传大小设

后端开发|php教程

php文件,文件上传

后端开发-php教程

关于实现及介绍在程序注释中。

百度导航网站源码,vscode 如何开发插件,ubuntu很流畅,tomcat多网页,sqlite最多人使用版本,怎么查手机里的爬虫软件,php 翻译 接口,巢湖seo公司找哪家,免费微信微网站模板下载,flash网页播放器代码大全,dedecms模板封面制作lzw

提交文件的页面:(可以分别提交到doAction.php、doAction1.php、doAction2.php进行测试)

asp手机网站源码下载,vscode端口号被改了怎么办,ubuntu 双网卡绑定,电脑装tomcat不想装jdk,sqlite 约束名称,广东比较好的网页设计公司,mysql 服务器部署,form表单插件异步,前端框架大全视频,爬虫微博妹子,php时间对比,SEO源头,京东网站数据库是那种语言,网上购物网页源代码,phpcms 模板设计,页面小图标代码,mvc管理系统,.net网上手机销售系统程序lzw

upload.php

活动报名管理系统源码,ubuntu用户登录界面,tomcat进度条一半,爬虫子爬什么,PHP中创建目录用的函数是,seo绝地求生lzw

文件上传<!----> 请选择您要上传的文件:<!--

-->

doAction.php

<?php/** * Created by PhpStorm. * User: DreamBoy * Date: /4/8 * Time: 15:17 *///$_FILES:文件上传变量/* * $_FILES中保存着上传文件的信息 * name:上传文件的名称 * type:上传文件的MIME类型 * tmp_name:上传到服务器上的临时文件名 * size:上传文件的大小 * error:上传文件的错误号 */print_r($_FILES);$filename = $_FILES[myFile][ ame];$type = $_FILES[myFile][ ype];$tmp_name = $_FILES[myFile][ mp_name];$size = $_FILES[myFile][size];$error = $_FILES[myFile][error];//上传方式//第一种方式://将服务器上的临时文件移动到指定目录下,移动成功返回true,否则返回false。//move_uploaded_file($tmp_name, $destination);//move_uploaded_file($tmp_name, uploads/ . $filename);//第二种方式://copy($src,$dst) :将文件拷贝到指定目录,拷贝成功返回true,否则返回false//copy($tmp_name, uploads/ . $filename);/* * 文件上传配置 * 服务器端配置: * file_uploads = On, 支持HTTP上传 * upload_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_INT_SIZE:其值为1,上传的文件超过了php.ini中uploaded_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扩展程序中断。 */

doAction1.php

<?phpheader(content-type:text/html;charset=utf-8);/** * Created by PhpStorm. * User: DreamBoy * Date: /4/8 * Time: 16:37 *///1.通过$_FILES文件上传变量接收上传文件信息$fileInfo = $_FILES[myFile];$filename = $fileInfo[ ame];$type = $fileInfo[ ype];$tmp_name = $fileInfo[ mp_name];$size = $fileInfo[size];$error = $fileInfo[error];//2.判断下错误号,只有为0或者是UPLOAD_ERR_OK,没有错误发生,上传成功。if($error == UPLOAD_ERR_OK) { if(move_uploaded_file($tmp_name, uploads/ . $filename)) { echo 文件 . $filename . 上传成功; } else { echo 文件 . $filename . 上传失败; }} else { //匹配错误信息 switch($error) { case 1: echo 上传文件超过了PHP配置文件中upload_max_filesize选项的值; break; case 2: echo 超过了表单MAX_FILE_SIZE限制的大小; break; case 3: echo 文件部分被上传; break; case 4: echo 没有选择上传文件; break; case 6: echo 没有找到临时目录; break; case 7: case 8: echo 系统错误; break; }}/* * 上传文件限制 * 服务器端限制: * 限制上传文件大小 * 限制上传文件类型 * 检测是否为真是图片类型 * 检测是否为HTTP POST方式上传 */

doAction2.php

$maxSize) { exit(上传文件过大); } echo $fileInfo[ ype]; exit; //$ext = strtolower(end(explode(., $fileInfo[ ame]))); $ext = pathinfo($fileInfo[ ame],PATHINFO_EXTENSION); if(!in_array($ext, $allowExt)) { exit(非法文件类型); } //判断文件是否是通过HTTP POST方式上传来的 if(!is_uploaded_file($fileInfo[ mp_name])) { exit(文件不是通过HTTP POST方式上传来的); } //检测是否为真实的图片类型 /** getimagesize($filename):得到指定图片的信息,如果是图片返回数组* 如果不是图片(哪怕文件的后缀是图片的格式,实际上不是图片的话),返回false。*/ if($flag) { if(!getimagesize($fileInfo[ mp_name])) { exit(不是真正的图片类型); } } $path = uploads; //php利用mkdir创建多级目录 /read/38.html /** mkdir($path,0777,true);* 第一个参数:必须,代表要创建的多级目录的路径;* 第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问权;* 第三个参数:true表示允许创建多级目录。*/ /** chmod() 函数改变文件模式。* 如果成功则返回 TRUE,否则返回 FALSE。*/ if(!file_exists($path)) { mkdir($path, 0777, true); // 0777表示可读可写可执行 chmod($path, 0777); } //确保文件名位移,放置重名产生覆盖 /** uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID。* 语法* uniqid(prefix,more_entropy)* 参数描述* prefix可选。为 ID 规定前缀。如果两个脚本恰好在相同的微秒生成 ID,该参数很有用。* more_entropy可选。规定位于返回值末尾的更多的熵。*/ /** microtime()返回当前 Unix 时间戳和微秒数。* PHP函数microtime()语法* microtime(get_as_float)* PHP函数microtime()参数与描述* get_as_float 如果给出了 get_as_float 参数并且其值等价于 TRUE,该函数将返回一个浮点数。* 通俗地说,带参数true表明只返回一个浮点数(即秒数),不带参数返回一个微秒+秒的字符串。* <?php* echo microtime();* echo "

";* echo microtime(true);* ?>* 结果如下:* 0.00000600 1283757623* 1283757623*/ $uniName = md5(uniqid(microtime(true), true)) . . . $ext; //$destination = $path . / . $fileInfo[ ame]; $destination = $path . / . $uniName; if(@move_uploaded_file($fileInfo[ mp_name], $destination)) { echo 文件上传成功; } else { echo 文件上传失败; }} else { //匹配错误信息 switch($fileInfo[error]) { case 1: echo 上传文件超过了PHP配置文件中upload_max_filesize选项的值; break; case 2: echo 超过了表单MAX_FILE_SIZE限制的大小; break; case 3: echo 文件部分被上传; break; case 4: echo 没有选择上传文件; break; case 6: echo 没有找到临时目录; break; case 7: case 8: echo 系统错误; break; }}

以上就介绍了PHP文件上传的实现及其介绍,包括了php文件,文件上传方面的内容,希望对PHP教学有兴趣的朋友有所帮助。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。