关于PHP图片处理
该代码实现功能函数,把对应的图片(图片限制大小为2M)传到'当前目录/post_basic/upload/'下
<?php
/**
* Created by PhpStorm.
* User: wpq
* Date: 16-11-12
* Time: 上午11:01
*/
header("content-type:text/html; charset=utf-8");
//定义根路径
//解决basename无法解决中文的函数
function get_basename($filename){
return preg_replace('/^.+[\\\/]/', '', $filename);
}
function uploadPhoto($name,$photo){
define('ROOT_PATH', dirname(dirname(__FILE__)));
//设置文件存放目录
$base_path = './upload/' . $name . '/';
if (!is_dir($base_path)) {
mkdir($base_path,0777,true);
// if(file_exists($base_path))
// echo "目录创建成功!";
// else
// echo "创建目录失败!";
} else {
$dh = opendir($base_path);
while ($file = readdir($dh)) {
//echo "1";
if ($file != "." && $file != "..") {
$fullpath = $base_path . "/" . $file;
//echo $fullpath;
if (!is_dir($fullpath)) {
unlink($fullpath);
} else {
// echo 'mubiao';
rmdir($fullpath);
// echo 'jieguo';
}
}
}
closedir($dh);
}
//文件存放位置
$target_path = $base_path . get_basename($photo["name"]);
//var_dump($photo);
//echo "11";
// 设置flag;
$flag = "true";
// echo $target_path;
//上传限制,允许上传的图片后缀
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $photo["name"]);
// 获取文件后缀名
$extension = strtolower(end($temp));
if ((($photo["type"] == "image/gif")
|| ($photo["type"] == "image/jpeg")
|| ($photo["type"] == "image/jpg")
|| ($photo["type"] == "image/pjpeg")
|| ($photo["type"] == "image/x-png")
|| ($photo["type"] == "image/png"))
&& ($photo["size"] < 2048000*3) // 小于 2 Mb
&& in_array($extension, $allowedExts)
) {
if ($photo["error"] > 0) {
$flag = "false";
} else {
move_uploaded_file($photo['tmp_name'], $target_path);
// echo $mesg = "success to upload";
}
} else {
$mesg = "failde to upload";
}
// echo '<br />';
// echo $target_path;
// echo '<br />';
// echo $path;
// echo '<br />';
//将图片路径存入数据库S
$path = str_replace('\', '/', realpath(ROOT_PATH . '/'));
$avatorUrl = $path . '/post_basic/upload/' . $name . '/' . $photo['name'];
return $avatorUrl;
}