最新消息:网站改版咯

php上传实例

php Yovae 5198浏览

一:打开php配置文件:

file_uploads on是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir –文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
upload_max_filesize 8m望文生意,即允许上传文件大小的最大值。默认为2M

二:form标签enctype属性

表单中enctype=”multipart/form-data”的意思,是设置表单的MIME编码。默认情况, 这个编码格式是application/x-www-form-urlencoded,不能用于文件上传; 只有使用了multipart/form-data,才能完整的传递文件数据。
值得注意的是文件upload.html中表单选项 MAX_FILE_SIZE 的隐藏值域,通过设置其Value(值)可以限制上载文件的大小。 MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP 设置中的上传文件最大值,是不会失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该
文件太大了的麻烦。

三:$_FILES系统函数

$_FILES[‘myFile’][‘name’]客户端文件的原名称
$_FILES[‘myFile’][‘type’]文件的MIME类型
$_FILES[‘myFile’][‘size’]已上传文件的大小
$_FILES[‘myFile’][‘tmp_name’]储存的临时文件名,一般为系统默认
$_FILES[‘myFile’][‘error’]该文件上传到相关的错误代码

四:move_upload_file函数

上传后移动文件到目标位置的函数
move_uploaded_file(临时文件,目标位置);

五:is_uploaded_file函数

判断上传文件的类型 is_uploaded_file(MIME);

html页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>upload</title>
</head>

<body>
<h1>上传新文件</h1>
<formenctype="multipart/form-data"action="file.php" method=post>
<inputtype="hidden"name="MAX_FILE_SIZE"value="2000000">
上传文件:&lt;inputname="userfile"type="file">
<inputtype="submit"value="上传">
</form>
</body>
</html>

php页面:
1
<?php
   $uploadfile='./upload/'.$_FILES['userfile']['name'];//upload为上传到服务机器的文件夹
  echo$uploadfile;
  if(is_uploaded_file($_FILES['userfile']['tmp_name']))
  {
       echo"OK!";
  }
  switch($_FILES['userfile']['type'])
 {
    case    "image/pjpeg":
    $fileextname    =    "jpg";
    break;
    case    "image/gif":
    $fileextname    =    "gif";
    break;
    case    "image/x-png":
    $fileextname    =    "png";
    break;
   case    "application/x-shockwave-flash":
   $fileextname    =    "swf";
   break;
   case    "text/plain":
   $fileextname    =    "txt";
   break;
  case    "application/msword":
  $fileextname    =    "doc";
  break;
  case    "application/x-zip-compressed":
 $fileextname    =    "zip";
  break;
}
  echo $fileextname;
 if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
 {
    print"File is valid, and was successfully uploaded. Here's some more debugging info:\n";print_r($_FILES);
 }
 else
{
   print"Possible file upload attack! Here's some debugging info:\n";print_r($_FILES);
}

注意:上传到服务器的文件夹要事先建立好,不然报错“failed to open stream: No such file or directory”

转载请注明:Yovae Studio » php上传实例