PHP实现上传文件到服务器(二)

html代码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>KEKI.VIP</title>
</head>
<body>
 
<form action="https://xxx.wang/xxx/upload.php" method="post" enctype="multipart/form-data">
    <label for="file">文件名:</label>
    <input type="file" name="file" id="file"><br>
    <input type="submit" name="submit" value="提交">
</form>
 
</body>
</html>

php代码

<?php
 
    header("Content-Type:text/html;charset=utf8"); 
    header("Access-Control-Allow-Origin: *"); //解决跨域
    header('Access-Control-Allow-Methods:POST');// 响应类型  
    header("Content-Type:text/html;charset=utf8");
    
    if ($_FILES["file"]["error"] > 0)
    {
        echo "错误:" . $_FILES["file"]["error"] . "<br>";
    }
    else
    {
        echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";
        echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
        echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>"; // 如果 upload 目录不存在该文件则将文件
        
        
        // 判断当前目录下的 upload 目录是否存在该文件
        // 如果没有 upload 目录,你需要创建它,upload 目录权限为 777
        if (file_exists("./" . $_FILES["file"]["name"]))
        {
            echo "替换 " . "<br>";
            unlink ( 'article_html.html' );
            // 如果 upload 目录不存在该文件则将文件上传到 upload 目录下
            move_uploaded_file($_FILES["file"]["tmp_name"], "./" . $_FILES["file"]["name"]);
            echo "文件存储在: " . "./" . $_FILES["file"]["name"];
            
        }
        else
        {
            // 如果 upload 目录不存在该文件则将文件上传到 upload 目录下
            move_uploaded_file($_FILES["file"]["tmp_name"], "./" . $_FILES["file"]["name"]);
            echo "文件存储在: " . "./" . $_FILES["file"]["name"];
        }
    }
?>



php代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>文件上传</title>

</head>

<body>

<h1>上传文件</h1>

<form action="chuli.php" method="post" enctype="multipart/form-data">

请选择文件:
<input type="file" name="file" /><input type="submit" value="上传" />


</form>

</body>

</html>

php处理代码,和以上搭配使用

<?php

//取文件信息

$arr = $_FILES["file"];

//var_dump($arr);

//加限制条件

//1.文件类型

//2.文件大小

//3.保存的文件名不重复if(($arr["type"]=="image/jpeg" || $arr["type"]=="image/png" ) && $arr["size"]<10241000)

if(($arr["type"]=="image/jpeg" || $arr["type"]=="image/png" ) && $arr["size"]<10241000)
{

//临时文件的路径

$arr["tmp_name"];

//上传的文件存放的位置

//避免文件重复: 

//1.加时间戳.time()加用户名.$uid或者加.date('YmdHis')

//2.类似网盘,使用文件夹来防止重复

$filename = "./Imge/".$arr["name"];
//$filename = "./doc/".date('YmdHis').$arr["name"];

//保存之前判断该文件是否存在

  if(file_exists($filename))

  {

    echo "该文件已存在";

  }


  else

  {

  //中文名的文件出现问题,所以需要转换编码格式

  $filename = iconv("UTF-8","gb2312",$filename);

  //移动临时文件到上传的文件存放的位置(核心代码)

  //括号里:1.临时文件的路径, 2.存放的路径

  move_uploaded_file($arr["tmp_name"],$filename);

  }

}

else

{

  echo "上传的文件大小或类型不符";

}
//echo "上传成功";
//exit("上传成功")

echo"文件上传成功!<br>".date("Y-m-d H:i:s")."<br>上传文件:".$fileName."<br>文件大小:".number_format(($fileSize/1024/1024),2)."Mb"."<br>重命名为:".$fileReName;

以下是第三套php上传源码,单独可用

<?php
    /****************************css/style.css
    ***  功能:上传文件到服务器
    ****************************/
    session_start();
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>上传文件到服务器</title>
<link href="../layui/css/layui.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table width="830" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="3"><img src="../tmp/sy.png" width="830" height="133" /></td>
  </tr>
   <form action="" method="post" enctype="multipart/form-data">
  <tr>
    <td width="193" rowspan="4">&nbsp; <input type="hidden" name="MAX_FILE_SIZE" value="10000000000000" /></td>
    <td width="423" height="50">选择上传文件:
        <!--此语句可以显示一个按钮用来打开本地电脑  ----><!--<input type="file" name="up_picture"/>-->
      <input type="file" name="up_picture"/>
    </td>
    <td width="214" rowspan="4">&nbsp;</td>
  </tr>
  <tr>
    <td height="30" align="center"><span class="STYLE1">上传文件</span></td>
  </tr>
  <tr>
    <td height="50" align="center"><input type="image" name="imageField2" src="../tmp/tijiao.png" />
    &nbsp;&nbsp;&nbsp;&nbsp;<!--<input type="image" name="imageField3" src="#" />--></td>
  </tr>
    </form>
  <tr>
    <td height="70">
<?php
    if(!empty($_FILES["up_picture"]["name"])){//判断上传内容是否为空 if(!empty($_FILES["up_picture"]["name"]))
        if($_FILES["up_picture"]["error"] > 0){//判断文件是否可以上传到服务器 if($_FILES["up_picture"]["error"] > 0)
            echo "上传错误!";
            switch($_FILES["up_picture"]["error"]){//如果上传错误 判断出错原因 switch($_FILES["up_picture"]["error"])
                case 1:
                    echo "上传文件大小超出配置文件规定值";
                break;
                case 2:
                    echo "上传文件大小超出表单中约定值";
                break;
                case 3:
                    echo "上传文件不全";
                break;
                case 4:
                    echo "没有上传文件";
                break;
            }
        }else{
            if(!is_dir("./ZIP文档/")){//判断指定目录是否存在
                mkdir("./ZIP文档/");//创建一个目录
            }
            
            $path = './ZIP文档/'.time().strstr($_FILES['???']["name"],'.');//定义文件名称和存储位置。$path = './upfile/'.time().strstr($_FILES["up_picture"]["name"],'.');
            
            if(is_uploaded_file($_FILES['???']['tmp_name'])){//是否是HTTP POST上传 if(is_uploaded_file($_FILES['up_picture']['tmp_name']))
                if(move_uploaded_file($_FILES['???']['tmp_name'],$path)){//执行上传 if(move_uploaded_file($_FILES['up_picture']['tmp_name'],$path))
                    echo "上传文件".$_FILES['???']['name']."成功.文件大小为:".$_FILES['???']['size'];   //echo "上传文件".$_FILES['up_picture']['name']."成功.文件大小为:".$_FILES['up_picture']['size']                 
                }else{
                    echo "上传失败";
                }
            }else{
                echo "上传文件".$_FILES['up_picture']['name']."不合法"; //echo "上传文件".$_FILES['up_picture']['name']."不合法";
            }
        }
    }
    exit()
?>
</td>
  </tr>
  <tr>
    <td colspan="3"><img src="" width="830" height="30" /></td>
  </tr>
</table>
</body>
</html>
这一段代码和上一篇blog一样:https://www.keki.vip/archives/28/

Error:上传代码会给服务器带来巨大的风险,请谨慎使用,做好安全防护!
PHP
最后修改于:2020年11月13日 10:45

添加新评论