php文件上传简单实现方法

yipeiwu_com7年前PHP代码库

本文实例讲述了php文件上传的简单实现方法。分享给大家供大家参考。具体如下:

文件1:index.php

复制代码 代码如下:
<form enctype="multipart/form-data" action="uploadProcess.php" method="post" name="myform">
用户名:<input type="text" name="username" /><br />
密码:<input type="password" name="pwd" /><br />
上传图片:<input type="file" name="upimage"><br />
<input type="submit" name="sub" value="提交">
</form>

文件2:uploadProcess.php

复制代码 代码如下:
<?php
$filetype_arr = array("image/jpeg","image/png","image/gif","image/gif");//允许上传的图片类型
if(!empty($_POST['sub'])){
 $username = $_POST['username'];//用户名
 $password = $_POST['pwd'];//密码
 
 if(is_uploaded_file($_FILES['upimage']['tmp_name'])){//判断是否是通过http上传的图片
  $tmp_name = $_FILES['upimage']['tmp_name'];//上传图片临时名
  //判断图片类型是否支持
  if(!in_array($_FILES['upimage']['type'],$filetype_arr)){
   echo "抱歉,上传图片只支持";
   foreach($filetype_arr as $value){
    echo $value.",";
   }
   echo "等类型";
   exit();
  } 
  $exten_name = substr($_FILES['upimage']['name'],strrpos($_FILES['upimage']['name'],"."));//获取上传图片的后缀名
  $dest_name = $_SERVER['DOCUMENT_ROOT']."/php/upfile/".$username."/";//
  //判断保存的目录是否存在,不存在则创建
  if(!file_exists($dest_name)){
   if(!mkdir($dest_name)){//如果创建不成功
    echo "创建目录失败,文件无法上传";
    exit();
   }
  }
  //如果已经存在保存的目录
  if(move_uploaded_file($tmp_name,$dest_name.time().rand(1,100).$exten_name)){//移动临时文件到保存的目录,并改名
   echo "上传图片成功";
  }else{
   echo "图片上传失败";
  }
 }else{
  echo "找不到你上传的图片,请重新上传";
 }
}
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

php获取数组元素中头一个数组元素值的实现方法

本文实例讲述了php获取数组元素中头一个数组元素值的实现方法。分享给大家供大家参考。具体如下: 在php的内置函数中,获取数组元素值的函数主要有 reset next current p...

php中判断数组相等的方法以及数组运算符介绍

php中判断数组相等的方法以及数组运算符介绍

如何判断两个数组相等呢?其实很简单,用 == 或者 === 就可以了 php手册里说明如下: 那像 array('k'=>array())这样的多维数组能用如上方法判断相等吗?当...

PHP中遇到的时区问题解决方法

最近在学习PHP过程中发现PHP中的格式化时间戳比北京时间晚了8个小时,上网搜索发现原来是时区不对,解决办法是:      1、永久修改 &nb...

PHP goto语句简介和使用实例

goto操作符可以用来跳转到程序中的某一指定位置。该目标位置可以用目标名称加上冒号来标记。PHP中的goto有一定限制,只能在同一个文件和作用域中跳转,也就是说你无法跳出一个函数或类方法...

PHP对象递归引用造成内存泄漏分析

通常来说,如果PHP对象存在递归引用,就会出现内存泄漏。这个Bug在PHP里已经存在很久很久了,先让我们来重现这个Bug,示例代码如下: <?php class Foo...