【php】利用php函数实现文件上传案例分析
2012-11-26 11:14
691 查看
如果你是一个电脑爱好者,不知道PHP的话你就太落伍了,如果想知道PHP的相关知识,我们就一起来看看PHP文件上传的实现吧。这段代码分为两个文件,一个为upload.html,一个是upload.php。
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="max_file_size" value="100000">
<input name="userfile" type="file">
<input type="submit" value="上传文件">
</form>
Visual Studio下的PHP开发工具 VS.PHP初
PHP之父离开雅虎 自称“离开了最好的工作
新手指南何为PHP语言
PHP上传文件之POST方法巧用
教你使文件PHP上传生效
其中,请注意<form enctype="multipart/form-data"......>这是一个标签,我们要实现文件的上传,必须指定为multipart/form-data,否则服务器将不知道要干什么。值得注意的是文件upload.html中表单选项 MAX_FILE_SIZE
的隐藏值域,通过设置其Value(值)可以限制上载文件的大小。MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP 设置中的PHP文件上传最大值,是不会失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。
upload.php
$f=&$HTTP_POST_FILES['Myfile'];
$dest_dir='uploads';//设定上传目录
$dest=$dest_dir.'/'.date("ymd")."_".$f['name'];//设置文件名为日期加上文件名避免重复
$r=move_uploaded_file($f['tmp_name'],$dest);
chmod($dest, 0755);//设定上传的文件的属性
或者
<?copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);?>
以上范例中 $_FILES 数组的内容如下所示。我们假设文件上传字段的名称为 userfile(名称可随意命名)
$_FILES['userfile']['name']//客户端机器文件的原名称。
$_FILES['userfile']['type'] //文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
$_FILES['userfile']['size']// 已上传文件的大小,单位为字节。
$_FILES['userfile']['tmp_name'] //文件被上传后在服务端储存的临时文件名。
$_FILES['userfile']['error'] //和该文件上传相关的错误代码
PHP文件上传值分析:
◆值:0; 没有错误发生,文件上传成功。
◆值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
◆值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
◆值:3; 文件只有部分被上传。
◆值:4; 没有文件被上传。
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="max_file_size" value="100000">
<input name="userfile" type="file">
<input type="submit" value="上传文件">
</form>
Visual Studio下的PHP开发工具 VS.PHP初
PHP之父离开雅虎 自称“离开了最好的工作
新手指南何为PHP语言
PHP上传文件之POST方法巧用
教你使文件PHP上传生效
其中,请注意<form enctype="multipart/form-data"......>这是一个标签,我们要实现文件的上传,必须指定为multipart/form-data,否则服务器将不知道要干什么。值得注意的是文件upload.html中表单选项 MAX_FILE_SIZE
的隐藏值域,通过设置其Value(值)可以限制上载文件的大小。MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP 设置中的PHP文件上传最大值,是不会失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。
upload.php
$f=&$HTTP_POST_FILES['Myfile'];
$dest_dir='uploads';//设定上传目录
$dest=$dest_dir.'/'.date("ymd")."_".$f['name'];//设置文件名为日期加上文件名避免重复
$r=move_uploaded_file($f['tmp_name'],$dest);
chmod($dest, 0755);//设定上传的文件的属性
或者
<?copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);?>
以上范例中 $_FILES 数组的内容如下所示。我们假设文件上传字段的名称为 userfile(名称可随意命名)
$_FILES['userfile']['name']//客户端机器文件的原名称。
$_FILES['userfile']['type'] //文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
$_FILES['userfile']['size']// 已上传文件的大小,单位为字节。
$_FILES['userfile']['tmp_name'] //文件被上传后在服务端储存的临时文件名。
$_FILES['userfile']['error'] //和该文件上传相关的错误代码
PHP文件上传值分析:
◆值:0; 没有错误发生,文件上传成功。
◆值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
◆值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
◆值:3; 文件只有部分被上传。
◆值:4; 没有文件被上传。
相关文章推荐
- 利用文件函数实现PHP文件上传案例分析
- 利用php的文件函数来实现上传
- PHP 文件上传实现及漏洞分析
- PHP 文件编程综合案例-文件上传的实现
- php无刷新利用iframe实现页面无刷新上传文件(1/2)
- PHP利用APC模块实现文件上传进度条的方法
- PHP文件上传处理案例分析
- PHP 文件编程综合案例-文件上传的实现
- 使用php对百度云BCS上传本地文件的实现及原理分析
- ajax利用FormData、FileReader实现多文件上传php获取
- PHP利用APC模块实现大文件上传进度条的方法
- php利用iframe实现无刷新文件上传功能的代码
- PHP利用APC模块实现大文件上传进度条的方法
- 利用HTTP协议实现Android文件上传至WEB服务器,采用PHP接收文件(参考网上自己实现)
- PHP文件上传处理案例分析
- php利用iframe实现无刷新文件上传功能
- 利用discuz实现PHP大文件上传应用实例代码
- 利用discuz实现PHP大文件上传应用实例代码
- PHP中利用APC模块实现文件上传进度条
- php利用iframe实现无刷新文件上传功能的代码