≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > PHP笔记

php上传文件增强函数用法示例

人气:437 时间:2020-11-27

这篇文章主要为大家详细介绍了php上传文件增强函数用法示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编小韵来看看吧!

表单中file对象,比如说$_FILES['doc'],$path为保存的路径,$type为限制上传的类型(他是一个数组,比如说限制上传doc和docx和格式,那这个参数可以填array(“doc”,”.docx”),而且扩展名前有无”.”不作要求)。

代码如下:

 
<?php 
function upload($file,$path,$type){ 
$state = array(); 
$state['error'] = "true"; 
$alltype = ""; // 所有可以上传的类型,用"/"连接起来 
$path = trim($path); 
//为$path末尾加上"/" 
if(strlen(strrchr($path,‘/‘)) <= 1){ 
$path .= "/"; 
} 
//为类型加上开头“.” 
//将所有类型合成字符串,用"/"连接起来<span id="more-78"></span> 
foreach($type as $key=>$typeone){ 
$type[$key] = $typeone = trim($typeone); 
if(strlen(strchr($typeone,".")) != strlen($typeone)){ 
$type[$key] = ".".$typeone;} 
$alltype .= $typeone.‘/‘; 
} 
$alltype = substr($alltype,0,strlen($alltype)-1); //去掉最后的“/” 
if(empty($file['name'])){ 
$state['error'] = "没有上传{$alltype}类型文件!"; 
$state['errorid'] = 8; 
return $state; 
} else { 
if (!$file['error']) { 
$state['name'] = $file['name']; 
$state['type'] = strrchr($state['name'],‘.‘); 
if(in_array($state['type'],$type)){ 
$time = date("U"); 
$state['upname'] = $time.rand(1000,9999).$state['type']; //文件命名 
if(copy($file['tmp_name'],$path.$state['upname'])){ 
$state['time'] = date("U"); //上传的时间 
$state['error'] = false; 
return $state; 
} else { 
switch($file(‘error‘)){ 
case 1: $state['error'] = $state['name']."上传失败,文件大小超出了服务器的空间大小!";$state['errorid'] = 1;return $state; 
case 2: $state['error'] = $state['name']."上传失败,要上传的文件大小超出浏览器限制!";$state['errorid'] = 2;return $state; 
case 3: $state['error'] = $state['name']."上传失败,文件仅部分被上传!";$state['errorid'] = 3;return $state; 
case 4: $state['error'] = $state['name']."上传失败,没有找到要上传的文件!";$state['errorid'] = 4;return $state; 
case 5: $state['error'] = $state['name']."上传失败,服务器临时文件夹丢失!";$state['errorid'] = 5;return $state; 
case 6: $state['error'] = $state['name']."上传失败,文件写入到临时文件夹出错!";$state['errorid'] = 6;return $state; 
default: $state['error'] = $state['name']."上传失败,位置错误!";$state['errorid'] = 10;return $state; 
} 
} 
} else { 
$state['error'] = $state['name']."上传失败!不符合所要上传的文件类型!({$alltype})"; 
$state['errorid'] = 10; 
return $state; 
} 
} 
} 
?> 

返回值为一数组
$key value
error 错误详情
errorid 错误id(出现错误才有值)
type 文件扩展名(扩展名前带“.”)
upname 上传的文件名
time 上传的时间(从 Unix 纪元(1970-01-01 00:00)开始至今的秒数)

错误类型
errorid error
false //上传成功
1 上传失败,文件大小超出了服务器的空间大小!
2 上传失败,要上传的文件大小超出浏览器限制!
3 上传失败,文件仅部分被上传!
4 上传失败,没有找到要上传的文件!
5 上传失败,服务器临时文件夹丢失!
6 上传失败,文件写入到临时文件夹出错!
8 没有上传该类型文件! //表单中file对象为空
10 上传失败,位置错误!

本文来自:http://www.q1010.com/173/13446-0.html

注:关于php上传文件增强函数用法示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:

您可能感兴趣的文章

上一篇:PHP的array数组类型功能实例
下一篇:PHP array加法操作的简单示例
热门文章
  • PHP 写入WRITE编码为UTF8的文件示例
  • PHP 中文字符串截取函数示例:支持gb2312,gbk,big
  • PHP 简单留言板的制作示例
  • 解决Fatal error: Call to undefined function mb_convert_encoding() in错误问题
  • PHP语言基础(标记、注释、变量、数组、常量、函数)示例
  • php 生成迅雷链接的简单示例
  • php 获取短网址的实现方法
  • PHP 通用分页类的简单示例
  • PHP 使用文件方式导入导出整个MYSQL数据库的实现方法
  • php 获取MYSQL错误的简单示例
  • 最新文章
    • 解决PHP使用redis实现统计缓存MySQL压力的问题
    • php 简单的上传进度条的简单示例
    • php 给html中引用的js和css路径打上版本号的实现方法
    • php 实现计算年龄精准到年月日的实例
    • php+ajax无刷新分页的简单示例
    • 解决php+ajax无刷新上传图片的问题
    • 解决PHP生成HTML静态页面的问题
    • 解决PHP使用uniqid函数生成唯一ID的问题
    • 解决PHP防刷票的一些问题
    • 微信access_token的获取开发的实现方法

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。