php利用iframe实现无刷新文件上传功能的代码
2015-01-24信息快讯网
上传原理很简单就是利用表单的打开方式为iframe的id名,这样就可以在当前页面的iframe打来了,实现文件上传,再利用js返回上传结果。
<html>
<head>
<title>无刷新上传文件</title>
<meta Content-type="text/html" charset="utf-8" />
<script type="text/网页特效">
function startUpload() {
document.getElementById('processing').innerHTML = 'loding...';
return true;
}
function stopUpload(rel){
var msg;
switch (rel) {
case 0:
msg = "上传成功";
break;
case 1:
msg = "上传的文件超过限制";
break;
case 2:
msg = "只能上传图片文件";
break;
default:
msg = "上传文件失败";
}
document.getElementById('processing').innerHTML = msg;
}
</script>
</head>
<body>
<div style="text-align:center">
<div id="processing"></div>
<form action="upload.php教程" method="post" enctype="multipart/form-data" target="form-target" onsubmit="startUpload();">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
<input type="file" name="myfile" />
<input type="submit" name="sub" value="upload" />
</form>
<iframe style="width:0; height:0; border:0;" name="form-target"></iframe>
</div>
</body>
</html>
php代码
<?php
sleep(2);
$fileTypes = array('jpg','png','gif','bmp');
$result = null;
$uploadDir = './upfiles';
$maxSize = 1 * pow(2,20);
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['sub'])) {
$myfile = $_FILES['myfile'];
$myfileType = substr($myfile['name'], strrpos($myfile['name'], ".") + 1);
if ($myfile['size'] > $maxSize) {
$result = 1;
} else if (!in_array($myfileType, $fileTypes)) {
$result = 2;
} elseif (is_uploaded_file($myfile['tmp_name'])) {
$toFile = $uploadDir . '/' . $myfile['name'];
if (@move_uploaded_file($myfile['tmp_name'], $toFile)) {
$result = 0;
} else {
$result = -1;
}
} else {
$result = 1;
}
}
?>
<script type="text/javascript">
window.top.window.stopUpload(<?php echo $result; ?>);
</script>
基于php上传图片重命名的6种解决方法的详细介绍
php上传apk后自动提取apk包信息的使用(示例下载)
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
php多文件上传功能实现原理及代码
php实现多张图片上传加水印技巧
关于Iframe如何跨域访问Cookie和Session的解决方法
PHP If Else(elsefi) 语句
php中DOMElement操作xml文档实例演示
php函数array_merge用法一例(合并同类数组)
mysqli_set_charset和SET NAMES使用抉择及优劣分析
PDO版本问题 Invalid parameter number: no parameters were bound
zend framework配置操作数据库实例分析
windows下zendframework项目环境搭建(通过命令行配置)
smarty巧妙处理iframe中内容页的代码
php+iframe实现隐藏无刷新上传文件
PHP的array_diff()函数在处理大数组时的效率问题
简单的PHP缓存设计实现代码
php json_encode奇怪问题说明
PHP将DateTime对象转化为友好时间显示的实现代码
PHP无刷新上传文件实现代码
PHP 图片上传代码
php图片上传存储源码并且可以预览
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
PHP IF ELSE简化/三元一次式的使用
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
兼容firefox,chrome的网页灰度效果
php 文件上传类代码
php.ini中date.timezone设置分析
PHP文件上传后缀名与文件类型对照表整理
php max_execution_time执行时间问题
PHP全概率运算函数(优化版) Webgame开发必备
php array_intersect比array_diff快(附详细的使用说明)
php dirname(__FILE__) 获取当前文件的绝对路径
php Rename 更改文件、文件夹名称
fleaphp rolesNameField bug解决方法
PHP session有效期session.gc_maxlifetime
The specified CGI application misbehaved by not returning a complete set of HTTP headers
php expects parameter 1 to be resource, array given 错误