
5个回答
2015-08-10
展开全部
自定义文件上传函数
:
<?php
/**
* 文件上传
*/
/**
* 文件上传函数
* @param $name string 表单上传框的name值
* @param $file_arr array 上传文件的类型限制
* @param $filesize int 上传文件限制其大小
* @param $path string 文件的保存路径
* @return string 成功返回 "上传成功及文件名"
*/
function uploads($name,$file_arr=array('jpg','png','gif','JPG','GIF','PNG'),$filesize=3145728,$path='uploads'){
//1、检测文件的错误信息,如果是0 就允许上传(保存)
$err=$_FILES[$name]['error'];
if($err>0){
if($err==1){
return '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。';
}elseif($err==2){
return '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 ';
}elseif($err==3){
return '文件只有部分被上传。';
}elseif($err==4){
return'没有文件上传';
}elseif($err>=5){
return '其他错误';
}
}
//2、检测文件的类型,是否是我们需要的(png、gif、jpg)
$pre=pathinfo($_FILES[$name]['name'],PATHINFO_EXTENSION);
if(!in_array($pre,$file_arr)){
return '上传的文件类型不符';
}
//3、检测文件大小
if($_FILES[$name]['size']>$filesize){
return '上传的文件太大';
}
//4、保存文件
$file_name=date('YmdHis',time()).mt_rand(1000,9999).'.'.$pre;
if(is_uploaded_file($_FILES[$name]['tmp_name'])){
move_uploaded_file($_FILES[$name]['tmp_name'], $path."/".$file_name);
return '上传成功|'.$file_name;
}else{
return "文件上传失败!";
}
}
?>
:
<?php
/**
* 文件上传
*/
/**
* 文件上传函数
* @param $name string 表单上传框的name值
* @param $file_arr array 上传文件的类型限制
* @param $filesize int 上传文件限制其大小
* @param $path string 文件的保存路径
* @return string 成功返回 "上传成功及文件名"
*/
function uploads($name,$file_arr=array('jpg','png','gif','JPG','GIF','PNG'),$filesize=3145728,$path='uploads'){
//1、检测文件的错误信息,如果是0 就允许上传(保存)
$err=$_FILES[$name]['error'];
if($err>0){
if($err==1){
return '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。';
}elseif($err==2){
return '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 ';
}elseif($err==3){
return '文件只有部分被上传。';
}elseif($err==4){
return'没有文件上传';
}elseif($err>=5){
return '其他错误';
}
}
//2、检测文件的类型,是否是我们需要的(png、gif、jpg)
$pre=pathinfo($_FILES[$name]['name'],PATHINFO_EXTENSION);
if(!in_array($pre,$file_arr)){
return '上传的文件类型不符';
}
//3、检测文件大小
if($_FILES[$name]['size']>$filesize){
return '上传的文件太大';
}
//4、保存文件
$file_name=date('YmdHis',time()).mt_rand(1000,9999).'.'.$pre;
if(is_uploaded_file($_FILES[$name]['tmp_name'])){
move_uploaded_file($_FILES[$name]['tmp_name'], $path."/".$file_name);
return '上传成功|'.$file_name;
}else{
return "文件上传失败!";
}
}
?>
展开全部
php多文件上传实现代码,你可以参考一下
index_uploads.php
<html>
<head>
<meta charset="utf-8">
<title>index_uploads</title>
</head>
<body>
<form action="uploads.php" method="post" enctype="multipart/form-data">
<input type="file" name="file[]">
<br>
<input type="file" name="file[]">
<br>
<input type="submit" value="uploads">
</form>
</body>
</html>
uploads.php
<?php
header("content-type:text/html;charset=utf-8");
echo "<pre>";
print_r($_FILES);
echo "</pre>";
$count = count($_FILES['file']['name']);
for ($i = 0; $i < $count; $i++) {
$tmpfile = $_FILES['file']['tmp_name'][$i];
$filefix = array_pop(explode(".", $_FILES['file']['name'][$i]));
$dstfile = "uploads/files/".time()."_".mt_rand().".".$filefix;
if (move_uploaded_file($tmpfile, $dstfile)) {
echo "<script>alert('succeed!');window.location.href='index_uploads.php';</script>";
} else {
echo "<script>alert('fail!');window.location.href='index_uploads.php';</script>";
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
帮楼上的改一改:
f($file_ext!="zip" && $file_ext!="rar" && $file_ext!="exe" && $file_ext!="txt"){
这里“||”应该改“&&”,否则不能过滤扩展名。
最后一行:
move_uploaded_file($_FILES['fileinput']['tmpname'],$_FILES['fileinput']['name']);
PHP中上传文件的函数应该是move_uploaded_file()
f($file_ext!="zip" && $file_ext!="rar" && $file_ext!="exe" && $file_ext!="txt"){
这里“||”应该改“&&”,否则不能过滤扩展名。
最后一行:
move_uploaded_file($_FILES['fileinput']['tmpname'],$_FILES['fileinput']['name']);
PHP中上传文件的函数应该是move_uploaded_file()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自定义文件上传函数
:
<?php
/**
*
文件上传
*/
/**
*
文件上传函数
*
@param
$name
string
表单上传框的name值
*
@param
$file_arr
array
上传文件的类型限制
*
@param
$filesize
int
上传文件限制其大小
*
@param
$path
string
文件的保存路径
*
@return
string
成功返回
"上传成功及文件名"
*/
function
uploads($name,$file_arr=array('jpg','png','gif','JPG','GIF','PNG'),$filesize=3145728,$path='uploads'){
//1、检测文件的错误信息,如果是0
就允许上传(保存)
$err=$_FILES[$name]['error'];
if($err>0){
if($err==1){
return
'上传的文件超过了
php.ini
中
upload_max_filesize
选项限制的值。';
}elseif($err==2){
return
'上传文件的大小超过了
HTML
表单中
MAX_FILE_SIZE
选项指定的值。
';
}elseif($err==3){
return
'文件只有部分被上传。';
}elseif($err==4){
return'没有文件上传';
}elseif($err>=5){
return
'其他错误';
}
}
//2、检测文件的类型,是否是我们需要的(png、gif、jpg)
$pre=pathinfo($_FILES[$name]['name'],PATHINFO_EXTENSION);
if(!in_array($pre,$file_arr)){
return
'上传的文件类型不符';
}
//3、检测文件大小
if($_FILES[$name]['size']>$filesize){
return
'上传的文件太大';
}
//4、保存文件
$file_name=date('YmdHis',time()).mt_rand(1000,9999).'.'.$pre;
if(is_uploaded_file($_FILES[$name]['tmp_name'])){
move_uploaded_file($_FILES[$name]['tmp_name'],
$path."/".$file_name);
return
'上传成功|'.$file_name;
}else{
return
"文件上传失败!";
}
}
?>
:
<?php
/**
*
文件上传
*/
/**
*
文件上传函数
*
@param
$name
string
表单上传框的name值
*
@param
$file_arr
array
上传文件的类型限制
*
@param
$filesize
int
上传文件限制其大小
*
@param
$path
string
文件的保存路径
*
@return
string
成功返回
"上传成功及文件名"
*/
function
uploads($name,$file_arr=array('jpg','png','gif','JPG','GIF','PNG'),$filesize=3145728,$path='uploads'){
//1、检测文件的错误信息,如果是0
就允许上传(保存)
$err=$_FILES[$name]['error'];
if($err>0){
if($err==1){
return
'上传的文件超过了
php.ini
中
upload_max_filesize
选项限制的值。';
}elseif($err==2){
return
'上传文件的大小超过了
HTML
表单中
MAX_FILE_SIZE
选项指定的值。
';
}elseif($err==3){
return
'文件只有部分被上传。';
}elseif($err==4){
return'没有文件上传';
}elseif($err>=5){
return
'其他错误';
}
}
//2、检测文件的类型,是否是我们需要的(png、gif、jpg)
$pre=pathinfo($_FILES[$name]['name'],PATHINFO_EXTENSION);
if(!in_array($pre,$file_arr)){
return
'上传的文件类型不符';
}
//3、检测文件大小
if($_FILES[$name]['size']>$filesize){
return
'上传的文件太大';
}
//4、保存文件
$file_name=date('YmdHis',time()).mt_rand(1000,9999).'.'.$pre;
if(is_uploaded_file($_FILES[$name]['tmp_name'])){
move_uploaded_file($_FILES[$name]['tmp_name'],
$path."/".$file_name);
return
'上传成功|'.$file_name;
}else{
return
"文件上传失败!";
}
}
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵感谢楼下给我纠正,不过copy也可以复制缓存中的文件呵呵,不一定用move_uploaded_file
HTML页
<form method="POST" enctype="multipart/form-data" action="upload.php">
<input type="file" name="fileinput" size="20"><input type="submit" value="提交">
</form>
upload.php页
<?php
//取得原名
$filename=$_FILES["fileinput"]["name"];
//取得扩展名
$file_ext=explode(".",$filename);
$file_ext=$file_ext[count($file_ext)-1];
$file_ext=strtolower($file_ext);
if($file_ext!="zip"||$file_ext!="rar"||$file_ext!="exe"||$file_ext!="txt"){
echo "类型错误";
exit;
}
//判断文件大小
if($_FILES["fileinput"]["size"]>100*1024){
echo "文件必须小于100K";
exit;
}
//创建一个新的文件名
$newname=date("YmdHis").".".$file_ext;
//从缓存中把文件复制到目标地址
copy($_FILES["fileinput"]["tmp_name"],"目标地址"."新文件名");
?>
随手写了一个没测试,你试试吧,应该好用的
HTML页
<form method="POST" enctype="multipart/form-data" action="upload.php">
<input type="file" name="fileinput" size="20"><input type="submit" value="提交">
</form>
upload.php页
<?php
//取得原名
$filename=$_FILES["fileinput"]["name"];
//取得扩展名
$file_ext=explode(".",$filename);
$file_ext=$file_ext[count($file_ext)-1];
$file_ext=strtolower($file_ext);
if($file_ext!="zip"||$file_ext!="rar"||$file_ext!="exe"||$file_ext!="txt"){
echo "类型错误";
exit;
}
//判断文件大小
if($_FILES["fileinput"]["size"]>100*1024){
echo "文件必须小于100K";
exit;
}
//创建一个新的文件名
$newname=date("YmdHis").".".$file_ext;
//从缓存中把文件复制到目标地址
copy($_FILES["fileinput"]["tmp_name"],"目标地址"."新文件名");
?>
随手写了一个没测试,你试试吧,应该好用的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |