中国网络渗透测试联盟
标题: PHP简单上传脚本并返回上传路径 [打印本页]
作者: admin 时间: 2016-11-12 15:19
标题: PHP简单上传脚本并返回上传路径
功能描述:我以获取图片为例,使用<input type="file">这个标签获取本地图片(文件)并且能够显示在当前页面,然后上传至本地服务器,并存进数据库(存储的是图片的地址,并不是文件本身)。
其中,显示图片的js代码是参考网上一位朋友发的资源,叫什么我也忘记了,在这里先申明一下。
下面直接上代码:
1.基本的页面代码+js
) }! k! P8 \4 p6 Z
- <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> , H" W( \: F& \1 C
4 b! q' Z+ ~" k- X
1 Z/ C5 f+ Z2 z* o& x) Y1 }2.PHP代码:
d$ Z- z# k& E" j- <?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[1];
-
- 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>
4 M: b: w, ~: y5 ~7 k: L( I% A+ z, T3 S; C
. {% H6 H0 n, l; A5 M( D& @) k# ]
" _/ h+ d6 `. g+ }" z
| 欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) |
Powered by Discuz! X3.2 |