Ajax+PHP边学边练 之五 图片处理


Posted in PHP onDecember 03, 2009

先上个效果图:

Ajax+PHP边学边练 之五 图片处理 
Sample6_1.php 中创建Form:

//显示上传状态和图片 
<div id="showimg"></div> 
//上传文件需要定义enctype,为了显示图片将target设为uploadframe 
<form id="uploadform" action="process_upload.php" method="post" 
enctype="multipart/form-data" target="uploadframe"> 
Upload a File:<br /> 
<input type="file" id="myfile" name="myfile" /> 
//上传文件 
<input type="submit" value="Submit" onclick="uploadimg(document.getElementById('uploadform')); return false;" /> 
<iframe id="uploadframe" name="uploadframe" src="process_upload.php" class="noshow"></iframe> 
</form>

上传图片函数 uploadimg:
function uploadimg(theform){ 
//提交Form 
theform.submit(); 
//在showimg <div>中显示上传状态 
setStatus ("Loading...","showimg"); 
} 
//上传状态函数 
function setStatus (theStatus, theObj){ 
obj = document.getElementById(theObj); 
if (obj){ 
obj.innerHTML = "<div class=\"bold\">" + theStatus + "</div>"; 
} 
}

process_upload.php 提供文件上传功能:
<?php 
//提供图片类型校验 
$allowedtypes = array("image/jpeg","image/pjpeg","image/png", "image/x-png","image/gif"); 
//文件存放目录 
$savefolder = "images"; //如果有文件上传就开始干活 
if (isset ($_FILES['myfile'])){ 
//检查上传文件是否符合$allowedtypes类型 
if (in_array($_FILES['myfile']['type'],$allowedtypes)){ 
if ($_FILES['myfile']['error'] == 0){ 
$thefile = "$savefolder/".$_FILES['myfile']['name']; 
//通过move_uploaded_file上传文件 
if (!move_uploaded_file($_FILES['myfile']['tmp_name'], $thefile)){ 
echo "There was an error uploading the file."; 
} 
else{ 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script type="text/javascript" src="functions.js"></script> 
</head> 
<body> 
<!-- 显示图片 --> 
<img src="<?php echo $thefile; ?>" onload="doneloading(parent,'<?php echo $thefile; ?>')" /> 
</body> 
</html> 
<?php 
} 
} 
} 
} 
?>

上面代码最后部分的doneloading 函数就是用来显示图片及修改图片尺寸大小。其中会用到thumb.php,它会在images目录中生成出源图片的大、中、小三个尺寸,有兴趣可以研究一下。欢迎大家拍砖~
文中源码打包下载
PHP 相关文章推荐
提升PHP执行速度全攻略(下)
Oct 09 PHP
php5编程中的异常处理详细方法介绍
Jul 29 PHP
php设计模式 Factory(工厂模式)
Jun 26 PHP
深入extjs与php参数交互的详解
Jun 25 PHP
php使用base64加密解密图片示例分享
Jan 20 PHP
php与flash as3 socket通信传送文件实现代码
Aug 16 PHP
重新认识php array_merge函数
Aug 31 PHP
php简单创建zip压缩文件的方法
Apr 30 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
Aug 14 PHP
php实现微信发红包功能
Jul 13 PHP
PDO::setAttribute讲解
Jan 29 PHP
PHP安全之register_globals的on和off的区别
Jul 23 PHP
PHPMyadmin 配置文件详解(配置)
Dec 03 #PHP
又一个php 分页类实现代码
Dec 03 #PHP
php 无限分类的树类代码
Dec 03 #PHP
php zip文件解压类代码
Dec 02 #PHP
PHP5 面向对象(学习记录)
Dec 02 #PHP
php smarty模版引擎中的缓存应用
Dec 02 #PHP
php 一元分词算法
Nov 30 #PHP
You might like
实现树状结构的两种方法
2006/10/09 PHP
PHP If Else(elsefi) 语句
2013/04/07 PHP
PHP合并静态文件详解
2014/11/14 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
JS面向对象编程之对象使用分析
2010/08/19 Javascript
JS判断当前日期是否大于某个日期的实现代码
2012/09/02 Javascript
很不错的两款Bootstrap Icon图标选择组件
2016/01/28 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
2017/03/14 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
2017/03/21 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
详解javascript appendChild()的完整功能
2018/08/18 Javascript
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
利用node.js开发cli的完整步骤
2020/12/29 Javascript
[01:02:09]Liquid vs TNC 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21
2020/07/19 DOTA
Django中的“惰性翻译”方法的相关使用
2015/07/27 Python
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
一步步教你用python的scrapy编写一个爬虫
2019/04/17 Python
python multiprocessing模块用法及原理介绍
2019/08/20 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
荷兰本土平价百货:HEMA
2017/10/23 全球购物
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
Ajax的工作原理
2015/12/04 面试题
行政部主管岗位职责
2013/12/28 职场文书
社区先进事迹材料
2014/05/19 职场文书
幼儿园百日安全活动总结
2015/05/07 职场文书
Django drf请求模块源码解析
2021/06/08 Python
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript