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实现二分查找算法代码分享
Jun 24 PHP
php实现的获取网站备案信息查询代码(360)
Sep 23 PHP
php制作中间带自己定义图片二维码的方法
Jan 27 PHP
简单实用的网站PHP缓存类实例
Jul 18 PHP
php实现ip白名单黑名单功能
Mar 12 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
Feb 08 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
May 05 PHP
PHP从数组中删除元素的四种方法实例
May 12 PHP
PHP检测接口Traversable用法详解
Dec 29 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
Mar 18 PHP
TP5框架页面跳转样式操作示例
Apr 05 PHP
open_basedir restriction in effect. 原因与解决方法
Mar 14 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
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
深入理解PHP变量的值类型和引用类型
2015/10/21 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
php抽象类和接口知识点整理总结
2019/08/02 PHP
基于jQuery的图片剪切插件
2011/08/03 Javascript
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
2013/01/23 Javascript
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
深入理解JavaScript高级之词法作用域和作用域链
2013/12/10 Javascript
node.js使用nodemailer发送邮件实例
2014/03/10 Javascript
js检测浏览器版本、核心、是否移动端示例
2014/04/24 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
javascript设置页面背景色及背景图片的方法
2015/12/29 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
js canvas实现俄罗斯方块
2020/10/11 Javascript
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
Python操作Access数据库基本步骤分析
2016/09/19 Python
Python实现曲线点抽稀算法的示例
2017/10/12 Python
详解PyCharm配置Anaconda的艰难心路历程
2018/08/13 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
Python简易计算器制作方法代码详解
2019/10/31 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
Django框架models使用group by详解
2020/03/11 Python
傲盾软件面试题
2015/08/17 面试题
党旗在我心中演讲稿
2014/09/15 职场文书
论群众路线学习笔记
2014/11/06 职场文书
停课通知书
2015/04/24 职场文书
Django项目如何正确配置日志(logging)
2021/04/29 Python
Python OpenCV实现图形检测示例详解
2022/04/08 Python