自定义文件上传函数
:
php
/**
* 文件上传
*/
* 文件上传函数
* @param $name string 表单上传框的name值
* @param $file_arr array 上传文件的类型限制
*@param $filesize int 上传文件限制其大小
* @param $path string 文件的保存路径
* @return string 成功返回 "上传成功及文件名"
//1、检测文件的错误信息,如果是0 就允许上传(保存)
$err=$_FILES[$name]['error'];
if($err0){
if($err==1){
return '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值.';
return '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值. ';
return '文件只有部分被上传.';
return'没有文件上传';
return '其他错误';
}
$pre=pathinfo($_FILES[$name]['name'],PATHINFO_EXTENSION);
if(!in_array($pre,$file_arr)){
return '上传的文件类型不符';
if($_FILES[$name]['size']$filesize){
return '上传的文件太大';
if(is_uploaded_file($_FILES[$name]['tmp_name'])){
move_uploaded_file($_FILES[$name]['tmp_name'], $path."/".$file_name);
return '上传成功|'.$file_name;
}else{
return "文件上传失败!";
p工具我们都用过是用来上传文件的,那么在php中如何用代码实现呢,下面简单介绍一个最基础最简单的列子,首先根据我们使用ftp工具来说,实现文件上传需要打开ftp工具-输入ftp地址,端口号,账号,密码登陆ftp-从本地选择相应文件上传到ftp相应目录,php中要实现这么一个简单的功能无非也是这样.
第一步:打开ftp
$ip="101.101.101.101";
$name="name";
$pwd="mima";
or("连接失败");
第二步:登陆ftp
ftp_login($con,$name,$pwd);
第三步:上传本地test.php文件到ftp
image目录下
ftp_put($con,"image/test.php","test.php",FTP_ASCII);
此时在ftp上的image目录下可以看到test.php文件了,当然这里上传文件,可以扩展下写个上传表单,将表单附件上传ftp这样就更方便,这里只作为一个文件最基础上传ftp功能.
PHP 文件上传 是通过 PHP,可以把文件上传到服务器.
①.首先创建一个文件上传表单
允许用户从表单上传文件是非常有用的.
请看下面这个供上传文件的 HTML 表单:
html
body
form action="upload_file.php" method="post"
enctype="multipart/form-data"
label for="file"Filename:/label
input type="file" name="file" id="file" /
br /
input type="submit" name="submit" value="Submit" /
/form
/body
/html
请留意如下有关此表单的信息:
form 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型.在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data".
input 标签的 type="file" 属性规定了应该把输入作为文件来处理.举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮.
注释:允许用户上传文件是一个巨大的安全风险.请仅仅允许可信的用户执行文件上传操作.
②.:创建上传脚本
"upload_file.php" 文件含有供上传文件的代码:
if ($_FILES["file"]["error"] 0)
{
echo "Error: " . $_FILES["file"]["error"] . "br /";
else
echo "Upload: " . $_FILES["file"]["name"] . "br /";
echo "Type: " . $_FILES["file"]["type"] . "br /";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件.
第一个参数是表单的 input name,第二个下标可以是 "name", "type", "size", "tmp_name" 或 "error".就像这样:
$_FILES["file"]["name"] - 被上传文件的名称
$_FILES["file"]["type"] - 被上传文件的类型
$_FILES["file"]["size"] - 被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] - 由文件上传导致的错误代码
这是一种非常简单文件上传方式.不需要考虑文件的上传格式.
这篇文章主要介绍了php多文件上传实现代码,需要的朋友可以参考下
index_uploads.php
代码如下:
head
meta
titleindex_uploads/title
/head
form
action="uploads.php"
method="post"
input
type="file"
name="file[]"
br
type="submit"
value="uploads"
uploads.php
echo
"pre";
print_r($_FILES);
"/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))
"scriptalert('succeed!');window.location.href='index_uploads.php';/script";
"scriptalert('fail!');window.location.href='index_uploads.php';/script";
核心:1上传首页中input的name属性是这么设置的.
②.用while循环上传多文件.
以上就是土嘎嘎小编为大家整理的上传文件的php代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!