新闻资讯

首页 > 新闻资讯 > 建站知识 > php图片上传代码
php图片上传代码发布时间:2018-05-11 浏览量( 88)

上传目录:文件当前文件夹;

图片文件夹:自动生成,格式为日期的年月,如:201801,201802;

图片是否压缩:否;

图片名称:以上传时间的linux时间戳命名;

图片支持类型:jpg,jpeg,png,pjpeg,gif,bmp,x-png;

图片大小:默认2M(可自行修改,但是超过系统php.ini设置无效);

php图片上传完整代码如下:

<?php

$uptypes=array('image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','image/x-png');

$addtime=date("Ym",time());

$testdir="./".$addtime."/";

if(file_exists($testdir)):

else:

mkdir($testdir,0777);

endif;

$max_file_size=2097152; //上传文件大小限制, 单位BYTE

$destination_folder=$testdir; //上传文件路径

$imgpreview=1; //是否生成预览图(1为生成,其他为不生成);

$imgpreviewsize=1/2; //缩略图比例

?>

<form enctype="multipart/form-data" method="POST" name="upform">

上传文件:

<input name="upfile" type="file">

<input type="submit" value="上传"><br>

允许上传的文件类型为:<?=implode(',',$uptypes)?>

</form>

<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST')

{

if (!is_uploaded_file($_FILES["upfile"]["tmp_name"]))

//是否存在文件

{

echo "图片不存在!";

exit;

}

$file = $_FILES["upfile"];

if($max_file_size < $file["size"])

//检查文件大小

{

echo "文件太大!";

exit;

}

if(!in_array($file["type"], $uptypes))

//检查文件类型

{

echo "文件类型不符!".$file["type"];

exit;

}

if(!file_exists($destination_folder))

{

mkdir($destination_folder);

}

$filename=$file["tmp_name"];

$image_size=getimagesize($filename);

$pinfo=pathinfo($file["name"]);

$ftype=$pinfo['extension'];

$destination = $destination_folder.time().".".$ftype;

if (file_exists($destination) && $overwrite != true)

{

echo "同名文件已经存在了";

exit;

}

if(!move_uploaded_file ($filename, $destination))

{

echo "移动文件出错";

exit;

}

$pinfo=pathinfo($destination);

$fname=$pinfo["basename"];

echo " <font color=red>已经成功上传</font><br>文件名: <font color=blue>".$destination_folder.$fname."</font><br>";

echo " 宽度:".$image_size[0];

echo " 长度:".$image_size[1];

echo "<br> 大小:".$file["size"]." bytes";

if($imgpreview==1)

{

echo "<br>图片预览:<br>";

echo "<img src=\"".$destination."\" width=".($image_size[0]*$imgpreviewsize)." height=".($image_size[1]*$imgpreviewsize);

echo " title=\"图片预览:\r文件名:".$destination."\r上传时间:\">";

}

}

?>

代码已经测试,完全可用!