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 相关文章推荐
Memcache 在PHP中的使用技巧
Feb 08 PHP
PHP最常用的ini函数分析 针对PHP.ini配置文件
Apr 22 PHP
php中函数的形参与实参的问题说明
Sep 01 PHP
VPS中使用LNMP安装WordPress教程
Dec 28 PHP
linux下实现定时执行php脚本
Feb 13 PHP
最准确的php截取字符串长度函数
Oct 29 PHP
反射调用private方法实践(php、java)
Dec 21 PHP
PHP中array_keys和array_unique函数源码的分析
Feb 26 PHP
PHP性能优化大全(php.ini)
May 20 PHP
PHP常用算法和数据结构示例(必看篇)
Mar 15 PHP
PHP join()函数用法与实例讲解
Mar 11 PHP
详解PHP PDO简单教程
May 28 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
帅气的琦玉老师
2020/03/02 日漫
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
PHP贪婪算法解决0-1背包问题实例分析
2015/03/23 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
PHP迭代器和生成器用法实例分析
2019/09/28 PHP
setTimeout与setInterval在不同浏览器下的差异
2010/01/24 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
javascript将数字转换整数金额大写的方法
2015/01/27 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
javascript常用方法总结
2015/05/14 Javascript
简介JavaScript中strike()方法的使用
2015/06/08 Javascript
JS实现样式清新的横排下拉菜单效果
2015/10/09 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
angularjs使用directive实现分页组件的示例
2017/02/07 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
Nodejs 识别图片类型的方法
2019/08/15 NodeJs
python获取指定时间差的时间实例详解
2017/04/11 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
2017/04/24 Python
使用Python操作excel文件的实例代码
2017/10/15 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
详解Django中间件执行顺序
2018/07/16 Python
python库matplotlib绘制坐标图
2019/10/18 Python
Python模拟键盘输入自动登录TGP
2020/11/27 Python
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
汉米尔顿手表官网:Hamilton
2020/09/13 全球购物
医生自荐信
2013/10/11 职场文书
七年级地理教学反思
2014/01/26 职场文书
青年文明号复核材料
2014/02/11 职场文书
预备党员承诺书
2014/03/25 职场文书
主题教育活动总结
2014/05/05 职场文书
李培根演讲稿
2014/05/22 职场文书
少年的你:世界上没有如果,要在第一次就勇敢的反抗
2019/11/20 职场文书