站长资源网络编程

PHP 图片上传实现代码 带详细注释

整理:jimmy2024/10/30浏览2
简介复制代码 代码如下:
复制代码 代码如下:
<?php
//用户上传图片处理文件
if ((($_FILES["file"]["type"] == "image/gif")|| ($_FILES["file"]["type"] == "image/jpeg")|| ($_FILES["file"]["type"] == "image/pjpeg"))&& ($_FILES["file"]["size"] < 100000)){ //控制允许上传的图片类型,最后的100000为允许的图片大小
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 />"; */
if (file_exists("userupload/" . $_FILES["file"]["name"])){
echo $_FILES["file"]["name"] . " already exists. ";
}else{
move_uploaded_file($_FILES["file"]["tmp_name"],"userupload/" . $_FILES["file"]["name"]);
}

$date=date('Ymdhis'); //得到当前时间,如;20070705163148
$fileName=$_FILES['file']['name']; //得到上传文件的名字
$name=explode('.',$fileName); //将文件名以'.'分割得到后缀名,得到一个数组
$newPath=$date.'.'.$name[1]; //得到一个新的文件为'20070705163148.jpg',即新的路径
$oldPath=$_FILES['file']['tmp_name']; //临时文件夹,即以前的路径
rename("userupload/".$fileName,"userupload/".$newPath);

//这里可以写你的SQL语句,图片的地址是 "userupload/".$newPath

?>
<script type="text/javascript">alert('图片上传成功!!');</script>
<?php
}
}else{
echo "Invalid file"; //图片类型错误或者过大
}
?>