admin 发表于 2016-11-12 15:19:37

PHP简单上传脚本并返回上传路径

功能描述:我以获取图片为例,使用<input type="file">这个标签获取本地图片(文件)并且能够显示在当前页面,然后上传至本地服务器,并存进数据库(存储的是图片的地址,并不是文件本身)。其中,显示图片的js代码是参考网上一位朋友发的资源,叫什么我也忘记了,在这里先申明一下。下面直接上代码:1.基本的页面代码+js

[*]<form action="upload_file.php" method="post" enctype="multipart/form-data">
[*]    <label for="file">Filename:</label>
[*]    <input type="file" name="file" id="file" onchange="javascript:setImagePreview();">
[*]    <div id="localImag"><img id="preview" width=-1 height=-1 style="diplay:none" /></div>
[*]    <br>
[*]    <input type="submit" name="submit" value="Submit" />
[*]</form>
[*]
[*]</body>
[*]</html>


2.PHP代码:

[*]<?php
[*]    session_start();
[*]    $_SESSION["userid"]="zxh";
[*]    if (1)//这个地方可以填写上传文件的限制,比如格式大小要求等,为了方便测试,这里没有写上传限制。
[*]    {
[*]      if ($_FILES["file"]["error"] > 0)
[*]      {
[*]            echo "Return Code: " . $_FILES["file"]["error"] . "<br />";//获取文件返回错误
[*]      }
[*]      else
[*]      {
[*]            //打印文件信息
[*]            echo "Upload: " . $_FILES["file"]["name"] . "<br />";//获取文件名
[*]            echo "Type: " . $_FILES["file"]["type"] . "<br />";//获取文件类型
[*]            echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";//获取文件大小
[*]            echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";//获取文件临时地址
[*]            
[*]            //自定义文件名称
[*]            $array=$_FILES["file"]["type"];
[*]            $array=explode("/",$array);
[*]            $newfilename="new_name";//自定义文件名(测试的时候中文名会操作失败)
[*]            $_FILES["file"]["name"]=$newfilename.".".$array;
[*]            
[*]            if (!is_dir("upload/".$_SESSION["userid"]))//当路径不穿在
[*]            {
[*]                mkdir("upload/".$_SESSION["userid"]);//创建路径
[*]            }
[*]            $url="upload/".$_SESSION["userid"]."/";//记录路径
[*]            if (file_exists($url.$_FILES["file"]["name"]))//当文件存在
[*]            {
[*]                echo $_FILES["file"]["name"] . " already exists. ";
[*]            }
[*]            else//当文件不存在
[*]            {
[*]                $url=$url.$_FILES["file"]["name"];
[*]                move_uploaded_file($_FILES["file"]["tmp_name"],$url);
[*]                echo "Stored in: " . $url;
[*]            }
[*]      }
[*]   }
[*]    else
[*]    {
[*]      echo "Invalid file";
[*]    }
[*]?>
[*]
[*]<html>
[*]<body>
[*]    <br><br>
[*]    <img src="<?php echo $url;?>">
[*]</body>
[*]</html>


页: [1]
查看完整版本: PHP简单上传脚本并返回上传路径