搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
2023面试高手
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
力扣第92题——反转链表 II(C语言题解)_力扣反转链表2
2
gitlab 更新子模块_gitlab更新子模块
3
Chrome浏览器:Your Connection is not private 您的连接不是私密连接
4
Dofbot机械臂从零部署笔记(3)——ROS之Moveit下实现顺向运动学规划+实机同步运动_dofbot虚拟机movit驱动真机
5
macbookpro强制重启方法及CleanMyMac怎么清理mac缓存
6
工具栏QToolBar-样式_qtoolbar样式
7
matplotlib绘制多张图、多子图、多例图_matplotlib同时绘制8个图
8
Docker 安装mysql Mac 环境下
9
Web前端开发技术、详细文章、(例子)html 列表、有序列表、无序列表、列表嵌套
10
引用实战学习
当前位置:
article
> 正文
php图片上传与预览
作者:2023面试高手 | 2024-06-06 14:29:36
赞
踩
php图片上传与预览
<?php
header("content-Type: text/html; charset=gb2312");
$uptypes=array('image/jpg', //上传文件类型列表
'image/jpeg',
'image/png',
'image/pjpeg',
'image/gif',
'image/bmp',
'application/x-shockwave-flash',
'image/x-png',
'application/msword',
'audio/x-ms-wma',
'audio/mp3',
'application/vnd.rn-realmedia',
'application/x-zip-compressed',
'application/octet-stream');
$max_file_size=1000000; //上传文件大小限制, 单位BYTE
$path_parts=pathinfo($_SERVER['PHP_SELF']); //取得当前路径
$destination_folder="up/"; //上传文件路径
$watermark=1; //是否附加水印(1为加水印,0为不加水印);
$watertype=1; //水印类型(1为文字,2为图片)
$waterposition=2; //水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);
$waterstring="
www.tt365.
org
"; //水印字符串
$waterimg="xplore.gif"; //水印图片
$imgpreview=1; //是否生成预览图(1为生成,0为不生成);
$imgpreviewsize=1/1; //缩略图比例
?>
<html xmlns="undefined">
<head>
<title>图片上传储存</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="description" content="365上网导航,365网址导航" />
<style type="text/css">
body,td{font-family:tahoma,verdana,arial;font-size:11px;line-height:15px;background-color:white;color:#666666;
strong{font-size:12px;}
a:link{color:#0066CC;}
a:hover{color:#FF6600;}
a:visited{color:#003366;}
a:active{color:#9DCC00;}
a{TEXT-DECORATION:none}
td.irows{height:20px;background:url("index.php?i=dots") repeat-x bottom}
</style>
</head>
<script type="text/javascript">function oCopy(obj){obj.select();js=obj.createTextRange();js.execCommand("Copy");};function sendtof(url){window.clipboardData.setData('Text',url);alert('复制地址成功,粘贴给你好友一起分享。');};function select_format(){var on=document.getElementByIdx_x('fmt').checked;document.getElementByIdx_x('site').style.display=on?'none':'';document.getElementByIdx_x('sited').style.display=!on?'none':'';};var flag=false;function DrawImage(ImgD){var image=new Image();image.src=ImgD.src;if(image.width>0&&image.height>0){flag=true;if(image.width/image.height>=120/80){if(image.width>120){ImgD.width=120;ImgD.height=(image.height*120)/image.width;}else {ImgD.width=image.width;ImgD.height=image.height;};ImgD.alt=image.width+"×"+image.height;}else {if(image.height>80){ImgD.height=80;ImgD.width=(image.width*80)/image.height;}else {ImgD.width=image.width;ImgD.height=image.height;};ImgD.alt=image.width+"×"+image.height;}};};function FileChange(Value){flag=false;document.all.uploadimage.width=10;document.all.uploadimage.height=10;document.all.uploadimage.alt="";document.all.uploadimage.src=Value;};</script>
<body bgcolor="#FFFFFF">
<center>
<form enctype="multipart/form-data" method="post" name="upform">
<table border="1" width="55%" id="table1" cellspacing=0>
<tr>
<td colspan="2"><p align="center">最大文件限制1M </td>
</tr>
<tr>
<td width="10%"><div style="width:120px; height:80px;overflow:hidden;text-align: center;" ><IMG id=uploadimage height=0 width=0 src="" οnlοad="javascript:DrawImage(this);" ></div></td>
<td width="71%"><div style="width:361px; height:80px;overflow:hidden;text-align: center;padding:30px; " >
<input style="width:208;border:1 solid #9a9999; font-size:9pt; background-color:#ffffff; height:18" size="17" name=upfile type=file
οnchange="javascript:FileChange(this.value);">
<input type="submit" value="上传" style="width:60;border:1 solid #9a9999; font-size:9pt; background-color:#ffffff; height:18" size="17"></td>
</tr>
</table>
允许上传的文件类型为:jpg|jpeg|gif|bmp|png|swf|mp3|wma|zip|rar|doc</form>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!is_uploaded_file($_FILES["upfile"][tmp_name]))
//是否存在文件
{
echo "<font color='red'>文件不存在!</font>";
exit;
}
$file = $_FILES["upfile"];
if($max_file_size < $file["size"])
//检查文件大小
{
echo "<font color='red'>文件太大!</font>";
exit;
}
if(!in_array($file["type"], $uptypes))
//检查文件类型
{
echo "<font color='red'>不能上传此类型文件!</font>";
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 "<font color='red'>同名文件已经存在了!</a>";
exit;
}
if(!move_uploaded_file ($filename, $destination))
{
echo "<font color='red'>移动文件出错!</a>";
exit;
}
$pinfo=pathinfo($destination);
$fname=$pinfo[basename];
echo " <font color=red>成功上传,鼠标移动到地址栏自动复制</font><br><table width=\"348\" cellspacing=\"0\" cellpadding=\"5\" border=\"0\" class=\"table_decoration\" align=\"center\"><tr><td><input type=\"checkbox\" id=\"fmt\" οnclick=\"select_format()\"/>图片UBB代码<br/><div id=\"site\"><table border=\"0\"><tr><td valign=\"top\">文件地址:</td><td><input type=\"text\" οnclick=\"sendtof(this.value)\" οnmοuseοver=\"oCopy(this)\" style=font-size=9pt;color:blue size=\"44\" value=\"
http://".$_SERVER['SERVER_NAME'].$path_parts["dirname"]."/".$destination_folder.$fname."\"/
>
</td></tr></table></div><div id=\"sited\" style=\"display:none\"><table border=\"0\"><tr><td valign=\"top\">文件地址:</td><td><input type=\"text\" οnclick=\"sendtof(this.value)\" οnmοuseοver=\"oCopy(this)\" style=font-size=9pt;color:blue size=\"44\" value=\"[img]http://".$_SERVER['SERVER_NAME'].$path_parts["dirname"]."/".$destination_folder.$fname."[/img]\"/></td></tr></table></div></td></tr></table>";
echo " 宽度:".$image_size[0];
echo " 长度:".$image_size[1];
if($watermark==1)
{
$iinfo=getimagesize($destination,$iinfo);
$nimage=imagecreatetruecolor($image_size[0],$image_size[1]);
$white=imagecolorallocate($nimage,255,255,255);
$black=imagecolorallocate($nimage,0,0,0);
$red=imagecolorallocate($nimage,255,0,0);
imagefill($nimage,0,0,$white);
switch ($iinfo[2])
{
case 1:
$simage =imagecreatefromgif($destination);
break;
case 2:
$simage =imagecreatefromjpeg($destination);
break;
case 3:
$simage =imagecreatefrompng($destination);
break;
case 6:
$simage =imagecreatefromwbmp($destination);
break;
default:
die("<font color='red'>不能上传此类型文件!</a>");
exit;
}
imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);
imagefilledrectangle($nimage,1,$image_size[1]-15,80,$image_size[1],$white);
switch($watertype)
{
case 1: //加水印字符串
imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);
break;
case 2: //加水印图片
$simage1 =imagecreatefromgif("xplore.gif");
imagecopy($nimage,$simage1,0,0,0,0,85,15);
imagedestroy($simage1);
break;
}
switch ($iinfo[2])
{
case 1:
//imagegif($nimage, $destination);
imagejpeg($nimage, $destination);
break;
case 2:
imagejpeg($nimage, $destination);
break;
case 3:
imagepng($nimage, $destination);
break;
case 6:
imagewbmp($nimage, $destination);
//imagejpeg($nimage, $destination);
break;
}
//覆盖原上传文件
imagedestroy($nimage);
imagedestroy($simage);
}
if($imgpreview==1)
{
echo "<br>图片预览:<br>";
echo "<a href=\"".$destination."\" target='_blank'><img src=\"".$destination."\" width=".($image_size[0]*$imgpreviewsize)." height=".($image_size[1]*$imgpreviewsize);
echo " alt=\"图片预览:\r文件名:".$fname."\r上传时间:".date('m/d/Y h:i')."\" border='0'></a>";
}
}
?>
</center>
</body>
</html>
卫星tp是什么意思:
http://zhidao.baidu.com/question/248832437.html
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/2023面试高手/article/detail/681286
推荐阅读
article
创新
指南|
如何
将
人工智能
应用于未来的
创新
管理
——并不断
付诸实践
_
人工智能
创新
管理
...
ChatGPT 的推出加剧了围绕
人工智能
的炒作,现在我们看到了前所未有的巨大进展。对于我们这些热衷于
创新
的人来说,这是一...
赞
踩
article
CTF
靶场之
Evilzone
:
取证篇_
evilctf
...
Evilzone
:
取证注
:
为了便于浏览,页面均已翻译!渗透的本质在于信息收集!渗透的本质在于信息收集!渗透的本质在于...
赞
踩
article
2024年
的
Rust
与
Go
,
看完
你
悟
了
吗
?
...
Go
和
Rust
都旨在帮助
你
编写正确
的
程序
,
但方式不同:例如
,
Go
提供
了
出色
的
内置单元测试框架和丰富
的
标准库
,
而
Rust
则...
赞
踩
article
CTF
-RE-
Evil
exe
(
Jarvis
OJ)_
ctf
re
输入
机器码
...
做此题需要的预备知识:ESP定律脱壳。如下网站介绍的比较详细且易懂,适合初学者了解:https://blog.csdn....
赞
踩
article
PTA 7-9 树层次遍历_我们已知
二叉树
与其自然
对应
的树相比
,
二叉树
中
结点
的左
孩子
对应
树
中
结点
的左...
PTA 7-9 树层次遍历我们已知
二叉树
与其自然
对应
的树相比,
二叉树
中
结点
的左
孩子
对应
树
中
结点
的左
孩子
,
二叉树
中
结点
的右...
赞
踩
article
值得收藏:一份非常完整
、
详细
的
MySQL
规范
_
mysql
数据库
规范
...
=========· 所有
数据库
对象名称必须使用小写字母并用下划线分割· 所有
数据库
对象名称禁止使用
mysql
保留关键字...
赞
踩
article
数据库
表
结构
设计
方法及原则_
数据库
表
结构
怎么
设计
...
在目前的企业信息系统中,
数据库
还是最佳的数据存储方式,虽然已经有很多的书籍在指导我们进行
数据库
设计
,但应该那种方式是
设计
...
赞
踩
article
「Linux」- 基于网页的
文件
管理器
(Web-
based
file
manager
) @2021...
问题描述在内网中,我们已搭建
文件
服务,平时需要上传很多
文件
来与他人共享,或者直接允许对方直接查看下载。对于上传,我们使用...
赞
踩
article
Baidu
Comate
智能
编码
助手
:
编码
新时代的
智能
伙伴_
大
模型
编码
助手
...
在数字化高速发展的今天,编程技术已成为推动创新与技术革新的核心动力。伴随着软件项目的复杂性和规模不断扩
大
,
编码
过程中的挑...
赞
踩
article
centos 7 :
node
-
gyp
:
command
not
found
...
全局安装后:npm install
node
-
gyp
-g找不到
node
-
gyp
建立软连接ln -s /usr/loca...
赞
踩
article
荐书:
Spring
Boot
2
企业应用
实战...
基于开箱即用原则的
Spring
Boot
2
令
企业应用
开发更加快速和高效时至今日,以
Spring
为核心的轻量级JavaE...
赞
踩
article
python
作业——
数
值计算(
三
位
数
操作)_输入一个
正整
数
,然后
检验
这个
数
是否为
奇偶
平衡
数
,
检验
的办...
数
值计算(
三
位
数
操作)_输入一个
正整
数
,然后
检验
这个
数
是否为
奇偶
平衡
数
,
检验
的办法是:将
这个
数
的各个
位
分解
出来
,如果
分解
...
赞
踩
article
【分享】
20
个
高级
Java
面试题
汇总(
含答案
)_
java
高级
面试题
...
得到Calendar类实例的最好办法是在Calendar中使用getInstance() static方法。在Calen...
赞
踩
article
灰色
关联
分析_
灰色
关联
度方法...
灰色
关联
度方法
关联
度计算方法中最典型的是邓氏
关联
度,但是随着许多学者对
灰色
关联
度分析研究,其他
关联
度计算方法也不断被研究...
赞
踩
article
Java
刷题总结_有关
静态
初始化
块说法
正确
的
是
...
选择题类声明中,声明抽象类
的
关键字
是
( )A.publicB.abstractC.finalD.class
Java
中
的
...
赞
踩
article
二叉
树
_
二叉
搜索
树
查找最坏时间
复杂度
...
一、为什么要
树
结构?不像数组、链表是线性的数据结构,
树
是一种分层的非线性数据结构(1)使用
树
的一个原因是:我们需要存储有...
赞
踩
article
Java
开发
岗
面试
必备:高级
Java
开发
工程师
面试
题解析_
java
面试
题
java
面试
题高级
开发
工程...
java
面试
题
java
面试
题高级
开发
工程师
mashibin.cn ...
赞
踩
article
【随笔】
Git
高级篇 --
相对
引用
2
HEAD
~n(十三)_
runoob
git
相对
引用
2...
大家好,又见面了,我是夜阑的狗
runoob
git
相对
引用
2 ...
赞
踩
article
微信
小
程序
基础
面试题
_
微信
小
程序
前端
面试题
...
微信
小
程序
自定义 TabBar 是指开发者可以自己定义底部的 TabBar,而不是使用
微信
小
程序
原生的 TabBar。自...
赞
踩
article
语音
识别
的未来已来:深入了解
faster
-
whisper
的突破性进展【高精度
语音
识别
模型
,
完全免费
开...
faster
-
whisper
的核心优势在于其能够在保持原有
模型
准确度的同时,大幅提升处理速度,这使得它在处理大规模
语音
数...
赞
踩
相关标签
chatgpt
人工智能
ai
web
安全
安全漏洞
rust
golang
开发语言
c++
c语言
mysql
数据库
百度
AI编程
python
java
jvm
面试
后端
微服务
灰色关联分析