上传文件

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>上传文件</title>

</head>

<body>

<!--enctype规定在提交表单时要使用哪种内容类型,在表单提交需要二进制数据时,设置成"multipart/form-data"-->

<form action="upload.php" method="get" enctype="multipart/form-data">

<input type="file" name="headImg" id="headImg" value="上传头像"/>

<input type="submit" value="提交上传" id="btn"/>

</form>

</body>

<script type="text/javascript">

var btn = document.getElementById("btn");

var headImg = document.getElementById("headImg");

btn.onclick = function(){

//可以验证文件的类型和大小

console.log(headImg.files[0]);

}

</script>

</html>


<?php

//$_FILES 全局数组, 可以获取上传文件的信息

print_r($_FILES);

define("fileName","upload");

/*

* 获取文件名

* $name = $_FILES[headImg][name];

*/

//获取文件名

$name = $_FILES["headImg"]["name"];

// echo $name;

// echo "<hr>";

//获取文件类型

$type = $_FILES["headImg"]["type"];

//获取文件大小

$size = $_FILES["headImg"]["size"];

//获取在服务器上的文件临时存放路径

$temp = $_FILES["headImg"]["tmp_name"];

 

//与服务器有关的信息

echo "<hr>";

print_r($_SERVER);

//获取服务器名字,服务器地址

$rootPath = $_SERVER["SERVER_NAME"];

//获取绝对路径

$basePath = $_SERVER["DOCUMENT_ROOT"];

//定义要存储目的地文件地址

function imagePath(){

global $basePath;//本地的路径

global $name;//文件的名字

// $path = $basePath."/PHP/PHP03/upload/".$name;

$path = $basePath."/PHP/PHP03/".fileName."/".$name;

return $path;

}

//设定服务器的文件网址

function fileURL(){

global $rootPath;

global $name;

$path = "http://".$rootPath."/PHP/PHP03/".fileName."/".$name;

return $path;

}

//设定文件夹的路径

function filePath(){

global $basePath;

$path = $basePath."/PHP/PHP03/".fileName."/";

return $path;

}

//限制上传文件的大小和格式

// $type = "image/gif";

// $size = 1000;

if(!(($type == "image/gif" || $type == "image/jpeg" || $type == "image/png") && $size < 1024000)){

echo "你上传的图片格式或者大小不符合要求,请重新上传";

return;//提前终止代码执行

}

//判断是否接收成功

if($_FILES["headImg"]["error"] > 0){

echo "Error:".$_FILES["headImg"]["error"];

}else{//文件上传成功,服务器已经接收到

$desPath = imagePath();//要存储的目的文件地址

$rootPath = fileURL();//获取服务器文件的网址

$filePath = filePath();//要存上传的文件的文件夹的路径

echo "目的文件:".$desPath."<hr>";

echo "服务器根路径:".$rootPath."<hr>";

echo "文件夹路径:".$filePath."<hr>";

if(!is_dir($filePath)){//判断文件夹是否存在,不存在的话创建

echo "文件夹不存在";

mkdir($filePath);

chmod($filePath,0755);//修改权限

/*

* 1-执行

* 2-写

* 4-读

* 777 - 分别指: 用户 组用户 everyone

* 1+2+4=7 读与写的权限

* 1+2=3 只读

* 1+4=5 只写

*/

}else{

echo "<hr>";

echo "文件夹已经存在";

}

//$temp 文件临时路径

$res = move_uploaded_file($temp,$desPath);

var_dump($res);

if($res){

echo "<img src={$rootPath} />";

}

}

?>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值