> php教程 > PHP源码 > 본문

PHP无刷新上传文件

PHP中文网
풀어 주다: 2016-05-25 17:13:20
원래의
897명이 탐색했습니다.

PHP无刷新上传文件实现代码,使用php的朋友可以参考下。

index.html 

<html> 
<head> 
<title>无刷新上传文件</title> 
<meta Content-type="text/html" charset="utf-8" /> 
<script type="text/javascript"> 
function startUpload() { 
document.getElementById(&#39;processing&#39;).innerHTML = &#39;loding...&#39;; 
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(&#39;processing&#39;).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>
로그인 후 복사

upload.php

<?php 
sleep(2); 
$fileTypes = array(&#39;jpg&#39;,&#39;png&#39;,&#39;gif&#39;,&#39;bmp&#39;); 
$result = null; 
$uploadDir = &#39;./upfiles&#39;; 
$maxSize = 1 * pow(2,20); 
if ($_SERVER[&#39;REQUEST_METHOD&#39;] == &#39;POST&#39; && isset($_POST[&#39;sub&#39;])) { 
$myfile = $_FILES[&#39;myfile&#39;]; 
$myfileType = substr($myfile[&#39;name&#39;], strrpos($myfile[&#39;name&#39;], ".") + 1); 
if ($myfile[&#39;size&#39;] > $maxSize) { 
$result = 1; 
} else if (!in_array($myfileType, $fileTypes)) { 
$result = 2; 
} elseif (is_uploaded_file($myfile[&#39;tmp_name&#39;])) { 
$toFile = $uploadDir . &#39;/&#39; . $myfile[&#39;name&#39;]; 
if (@move_uploaded_file($myfile[&#39;tmp_name&#39;], $toFile)) { 
$result = 0; 
} else { 
$result = -1; 
} 
} else { 
$result = 1; 
} 
} 
?> 
<script type="text/javascript"> 
window.top.window.stopUpload(<?php echo $result; ?>); 
</script>
로그인 후 복사


관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿