本文目录一览:
- 1、php上传文件到文件夹
- 2、php如何实现文件上传啊
- 3、用php做这种上传文件页面并且在页面中能显示已经上传的文件该怎么做?
- 4、如何修改PHP上传文件大小限制?
- 5、php 文件上传
- 6、php在文件域元素中使用什么属性设置多文件上传
php上传文件到文件夹
//这是给文件重命名
$one = explode(".",$_FILES["file"]["name"]);
$file_name = $_FILES["file"]["name"] = time().".".$one[1];
//这是上传,用到move_uploaded_file,移动到:./assets/up/这个文件夹
move_uploaded_file($_FILES["file"]["tmp_name"], "./assets/up/" . $file_name);
//这是往数据库存放的 文件名称
$information_img = "./assets/up/" . $file_name;
php如何实现文件上传啊
PHP 一般使用 POST 方法上传文件,下面是一个简单的文件上传示例,里面有相关的注释:
up.htm 文件:
----------
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
titleUp Sample/title
/head
body
form action="up.php" method="post" enctype="multipart/form-data"
!--备注:表单中 enctype="multipart/form-data " 的意思,是设置表单的 MIME 编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了 multipart/form-data ,才能完整的传递文件数据,进行下面的操作,并且 method 要设置为 "post"---php中上传文件
File:br /
input type="file" name="upfile" size="30"br /
!--上传框要设置 type="file"--
br /
input type="submit" value="Upload"
/form
/body
/html
----------
up.php 文件
----------
?php
if (is_uploaded_file($_FILES["upfile"]["tmp_name"])){
//如果有文件上传
//is_uploaded_file -- 判断文件是否是通过 HTTP POST 上传的,返回布尔值
//$_FILES['upfilename']['...'],其中的 'upfilename' 即为上传框的 name 属性
//$_FILES['upfile']['tmp_name'] -- 文件被上传后在服务端储存的临时文件名,一般是系统默认
if(!eregi('pdf', $_FILES['upfile']['type'])){
//我们这里假设你要上传一个 pdf 文件
//if(!eregi('pdf', $_FILES['upfile']['type'])) 这个是判断上传文件类型的,是不是 pdf 文件,当然,若是想判断是否是 jpg 文件的话,将 pdf 改成 jpg 就可以了,即 if(!eregi('jpg', $_FILES['upfile']['type']))-php中上传文件
//$_FILES['upfile']['type'] 是文件的 MIME 类型,如果浏览器提供此信息的话。例如“image/gif”
echo 'The uploaded file is not an pdf File! Please upload a right file!';
}else{
$filename = $_FILES['upfile']['name'];
//$filename = $_FILES['upfile']['name'],这里是指定上传后的文件名,这里使用的仍是原来的文件名字,($_FILES['upfile']['name'] 是原始文件的名字)-php中上传文件
if(move_uploaded_file($_FILES["upfile"]["tmp_name"], dirname(__FILE__)."/upload_file/".$filename)){
//这里就是上传文件
//dirname(__FILE__)."/upload_file/".$file_name -- 指定上传的目标文件,假设你要上传的目标文件夹upload_file 是和当前文件(upload.php)在同一文件夹下-php中上传文件
//chmod(dirname(__FILE__)."/upload_file/". $file_name, 0444);
//上面注释掉的是用来改变上传后文件的属性,444 即只有执行和读的权限(看情况加上)
echo $_FILES["upfile"]["name"] . " uploaded succeed!!!";
}else{
echo "Can't upload!!!";
}
}
}else{
echo "File is not selected";
}
//需要注意的:
/*
在你的 up.php 同级目录下建立 upload_file 文件夹,来存放上传的文件
在上传之前要看一下 php 的配置文件:php.ini 中的三处设置
1.是否允许文件上传:( file_uploads = On )
2.文件上传的最大 size:( upload_max_filesize )
3.post 的最大 size ( post_max_size ) 这个大小设置成和 uplod_max_filesize 一样大或比 uplod_max_filesize 大
*/
/*
这只是很简单的一个文件上传的例子,为了帮助理解,只是判断了一下上传文件的类型,还可以使用 if 语句来判断上传文件的大小($_FILES['upfile']['type'])),并进行提示控制等,相关可以查阅 $_FILE['upfile'] 数组的各个值分别代表什么-php中上传文件
*/
?
----------
可以看看 php100 里面的视频,其中一节就是介绍文件上传的. :)
用php做这种上传文件页面并且在页面中能显示已经上传的文件该怎么做?
1 上传文件的前端页面
form enctype="multipart/form-data" action="服务器地址" method="post"
input type="file" name="file"/
/form
2 PHP端用$_FILES取出前端上次的文件,用move_uploaded_file把上传的文件从临时目录移动到你服务器的文件目录下
3 用scandir扫描你的文件目录,用is_file过滤文件,你页面上的文件大小,可以通过filesize获取,上传时间就是创建时间用filemtime
4 发起删除用unlink删除 发起下载就读取文件然后修改header返回即可
如何修改PHP上传文件大小限制?
1. 在php.ini中,做如下修改:\x0d\x0a file_uploads = on\x0d\x0a upload_tmp_dir = /home/upload\x0d\x0a upload_max_filesize = 4000M\x0d\x0a post_max_size = 4000M\x0d\x0a 一般地,设置好上述四个参数后,上传8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得关心关心下面的参数:\x0d\x0a max_execution_time = 600\x0d\x0a max_input_time = 600\x0d\x0a memory_limit = 128M\x0d\x0a\x0d\x0a2. 在要确认上传的 里加入以下行:\x0d\x0a \x0d\x0a3. $_FILES["userfile"]["error"]返回值说明:\x0d\x0a $_FILES['teacher_pic']['error'] = 1 文件大小超过了PHP.ini中的文件限制\x0d\x0a $_FILES['teacher_pic']['error'] = 2 文件大小超过了浏览器限制\x0d\x0a $_FILES['teacher_pic']['error'] = 3 文件部分被上传\x0d\x0a $_FILES['teacher_pic']['error'] = 4 没有找到要上传的文件\x0d\x0a $_FILES['teacher_pic']['error'] = 5 服务器临时文件夹丢失\x0d\x0a $_FILES['teacher_pic']['error'] = 6 文件写入到临时文件夹出错\x0d\x0a $_FILES['teacher_pic']['error'] = -1 末充许的类型\x0d\x0a $_FILES['teacher_pic']['error'] = -2 文件过大,上传文件不能超过{$this-maxSize}个字节\x0d\x0a $_FILES['teacher_pic']['error'] = -3 上传失败\x0d\x0a $_FILES['teacher_pic']['error'] = -4 建立存放上传文件目录失败,请重新指定上传目录\x0d\x0a $_FILES['teacher_pic']['error'] = -5 必须指定上传文件的路径-php中上传文件
php 文件上传
?php
//$uploaddir = "D:My Documents/phpnow/htdocs/mysite/_notes/upload/";原代码,路径少了个斜杠,按道理是错误的.
$uploaddir = "D:/My Documents/phpnow/htdocs/mysite/_notes/upload/";//设置文件保存目录 注意包含/
$type=array("jpg","gif","bmp","jpeg","png");//设置允许上传文件的类型
// 下面这句,程序中都没有用到,估计是用来做预览图片的浏览路径的.
//因为,如果是在服务器上面,使用$uploaddir这种本地路径(相对于http://这种网络路径)的地址来
//访问是访问不到的,所以应该改成这样如下,相应的图片的预览路径也有一点改动
$patch="";//程序所在路径
function fileext($filename)
{
return substr(strrchr($filename, '.'), 1);
}//获取文件后缀名函数
function random($length)
{
$hash = 'CR-';
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$max = strlen($chars) - 1;
mt_srand((double)microtime() * 1000000);
for($i = 0; $i $length; $i++)
{
$hash .= $chars[mt_rand(0, $max)];
}
return $hash;
}
$a=strtolower(fileext(@$_FILES['file']['name']));//生成随机文件名函数
if(!in_array(strtolower(fileext(@$_FILES['file']['name'])),$type))
{
$text=implode(",",$type);
echo "您只能上传以下类型文件: ",$text,"br";
}//判断文件类型
else
{
$filename=explode(".",$_FILES['file']['name']);
do
{
$filename[0]=random(6); //设置随机数长度
$name=implode(".",$filename); //$name1=$name.".Mcncc";
$uploadfile=$uploaddir.$name;
}
while(file_exists($uploadfile));
//原代码是先移动文件(已经移动,原文件不存在了),后判断是否是通过上传的文件(当然了,文件都没了,怎么还会是true呢.),
if(is_uploaded_file(@$_FILES['file']['tmp_name'])move_uploaded_file(@$_FILES['file']['tmp_name'],$uploadfile)){-php中上传文件
//输出图片预览,注意img标签的src,有改动
echo "center您的文件已经上传完毕 上传图片预览: /centerbrcenterimg src='{$patch}{$name}'/center";
echo"brcentera href='javascript:history.go(-1)'继续上传/a/center";
}else{
echo "上传失败!";
}
}
?
php在文件域元素中使用什么属性设置多文件上传
php在文件域元素中使用multiple属性设置多文件上传。根据查询相关公开信息显示,打开php在文件域元素中,使用multiple属性设置多文件上传,创建数据表student,若创建成功,则输出数据表student创建成功,否则输出数据表student创建失败。-php中上传文件