js에는 로컬 파일을 읽을 수 있는 권한이 없으므로 파일을 업로드할 수 없지만
여러 가지 방법이 있습니다.
1 iframe은 jquery-uploaded-file을 위장합니다
2 swf 플러그인(저는 이건 별도의 소프트웨어입니다
3 html5
iframe은 Ajax 파일 업로드 효과를 시뮬레이션합니다
1 양식 제출 작업 캡처
2 iframe 생성
3 대상 수정 iframe을 가리킵니다
4 iframe 제거
<h1></h1> <!-- enctype 属性可能的值: application/x-www-form-urlencoded multipart/form-data text/plain 规定在发送表单数据之前如何对其进行编码。 target 规定在何处打开 action URL。(这边是iframe里) onsubmit 点击运行js的方法通过才到`action 文件上传说没上传 enctype没写-->
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script> <script type="text/javascript"> function upfile(){ // 创建iframe 和属性name var ifname = 'up'+Math.random(); $('<iframe name="' + ifname +'">').appendTo($('body')); // form表单加入target属性,form点击在iframe打开 $('form:first').attr('target',ifname); } </script>php 부분 If 오류가 0이면 작성된 h1 태그에 정보가 표시되기 전에 파일 업로드가 성공했음을 의미합니다.
<?php if(empty($_FILES)){ exit('no file'); } $error = $_FILES['pic']['error'] == 0 ? '上传成功':'上传失败'; echo "<script> parent.document.getElementsByTagName('h1')[0].innerHTML = '$error'"; ?>
위 내용은 ajax 파일 업로드를 시뮬레이션하는 ajax-iframe의 효과를 소개하며 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.