php 文件上传实例代码

php 文件上传实例代码,本文章为你提供一款经典的php文件上传类了,并且举例验证了这一款文件上传代码是可用的哦。

  1. <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.111cn.net/1999/xhtml">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=gb2312" />
  5. <title>无标题文档</title>
  6. </head>
  7. <body>
  8. <form name="form1" enctype="multipart/form-data" method="post" action="">
  9. <label for="filefield"></label>
  10. <input type="file" name="filefield" />
  11. <input type="submit" name="button" value="文件开始上传" />
  12. </form>
  13. </body>
  14. </html>
  15. <?
  16. /*
  17. | @param: $dir -- 存放目录,最后加"/" [字串]
  18. | @param: $file_var -- 表单变量 [字串]
  19. | @param: $max_size -- 设定最大上传值,以k为单位. [整数/浮点数]
  20. | @param: $type -- 限定后辍名(小写),多个用"/"隔开,不限定则留空 [字串]
  21. | @param: $name -- 上传后命名,留空则为原名,true为系统随机定名 [布林值]
  22. | return: 上传后文件名
  23. */
  24. function _asupfiles($dir, $file_var, $max_size='', $type='', $name=false)
  25. {
  26. if (!file_exists($dir)) showmsg("上传图片失败:上传目录 ".$dir." 不存在!",0);
  27. if (!is_writable($dir))
  28. {
  29. showmsg("上传图片失败:上传目录 ".$dir." 无法写入!",0);
  30. exit();
  31. }
  32. $upfile=& $_files["$file_var"];
  33. $upfilename = $upfile['name'];
  34. if (!($upfilename===''))
  35. {
  36. if (!is_uploaded_file($upfile['tmp_name']))
  37. {
  38. showmsg('上传图片失败:你选择的文件无法上传',0);
  39. exit();
  40. }
  41. if ($max_size>0 && $upfile['size']/1024>$max_size)
  42. {
  43. showmsg("上传图片失败:文件大小不能超过 ".$max_size."kb",0);
  44. exit();
  45. }
  46. $ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));
  47. if (!($type==='') && strpos($type, $ext_name)===false)
  48. {
  49. showmsg("上传图片失败:只允许上传 ".$type." 的文件!",0);
  50. exit();
  51. }
  52. ($name==true)?$uploadname=time().mt_rand(100,999).".".$ext_name :'';
  53. ($name==false)?$uploadname=$upfilename:'';
  54. !is_bool($name)?($uploadname=$name.".".$ext_name):'';
  55. //$uploadname = $name ? md5(uniqid(rand())).".".$ext_name : $upfilename;
  56. if (!move_uploaded_file($upfile['tmp_name'], $dir.$uploadname))
  57. {
  58. showmsg('上传图片失败:文件上传出错!',0);
  59. exit();
  60. }
  61. return $uploadname;
  62. }
  63. else
  64. {
  65. return '';
  66. }
  67. }
  68. ?>