코드 사본은 다음과 같습니다.
<cript>
Window.onload = function () {
upfile ( 'file.php');
}
/*
** URL 경로
**/
함수 upfile (url) {
// iframe을 만듭니다
var iframe = document.createElement ( "iframe");
document.body.appendchild (iframe);
iframe.id = 'iframename';
iframe.name = 'iframename';
iframe.style.display = 'none';
// 양식을 만듭니다
var turnform = document.createElement ( "form");
document.body.appendChild (TurnForm);
turnform.method = 'post';
turnform.action = url;
turnform.encoding = "multipart/form-data";
turnform.name = 'formnamer';
turnform.target = 'iframename';
// 숨겨진 양식을 만듭니다
var newlement = document.createElement ( "입력");
newElement.setAttribute ( "이름", "inputname");
newElement.setAttribute ( "type", "file");
Newlement.setAttribute ( "value", '');
Turnform.appendChild (Newlement);
}
// 제출을 양식합니다
함수 formsubmit () {
// var res = document.formnamer.inputname.value;
document.formnamer.submit ();
}
// 값을 반환합니다
함수 콜백 (결과) {
//window.parent.document.getElementById('iframename').display = 'block';
if (result [ 'error'] == 0) {
document.getElementById ( 'test'). src = result [ 'img'] [1]+'/'+result [ 'img'] [2];
} else if (result [ 'error'] == 1) {
경고 (결과 [ 'meg']);
} else if (result [ 'error'] == 2) {
경고 (결과 [ 'meg']);
} else if (result [ 'error'] == 3) {
경고 (결과 [ 'meg']);
} else if (result [ 'error'] == 4) {
경고 (결과 [ 'meg']);
}또 다른{
경고 (결과 [ 'meg']);
}
}
</스크립트>
<a href = "javaScript : formsubmit ()"> 업로드 </a>
<img src = "http://blog.163.com/zhwxl_zyx/blog/img/pasic.jpg"id = "test">
file.php
코드 사본은 다음과 같습니다.
<? php
헤더 ( "내용 유형 : text/html; charset = utf-8");
if (@is_uploaded_file ($ _ files [ 'inputname'] [ 'tmp_name']) {
$ f = $ _files [ 'inputname'];
$ name = $ f [ "이름"];
$ size = $ f [ "size"];
$ type = $ f [ "유형"];
$ filename = $ f [ "tmp_name"];
스위치 ($ 유형) {
CASE 'IMAGE/JPG': $ OKTYPE = TRUE;
부서지다;
CASE 'Image/JPEG': $ OKTYPE = TRUE;
부서지다;
CASE 'IMAGE/PNG': $ OKTYPE = TRUE;
부서지다;
CASE 'Image/Gif': $ OKTYPE = true;
부서지다;
}
if ($ oktype) {
$ error = $ f [ "오류"];
echo '파일 이름 :'. $ name. '<br>';
echo '파일 유형 :'. $ 유형. '<br>';
echo '파일 크기 :'. 라운드 ($ size/1024). 'k <br>';
Echo '임시 파일 스토리지 경로 :'. $ filename. '<br>';
$ filedir = dirname (__ 파일 __). '/img/upfile'.time (). $ name;
$ img = 익스플로잇 ( '/', $ filedir);
move_uploaded_file ($ filename, $ filedir);
$ data = array ();
$ data [ 'img'] = $ img;
$ data [ 'name'] = $ name;
$ data [ 'type'] = $ 유형;
$ data [ 'size'] = $ size;
$ data [ 'filename'] = $ filename;
$ data [ 'filedir'] = $ filedir;
if ($ error == 0) {
/*echo '성공적으로 업로드!';
echo 'preview :';
echo "<img src ="http://blog.163.com/zhwxl_zyx/blog/ <br> ";
echo '파일 이름'. $ img [2];*/
$ data [ 'error'] = 0;
종료 ( "<cript> parent.callback (". json_encode ($ data) "; </script>");
} elseif ($ error == 1) {
$ data [ 'error'] = 1;
$ data [ 'meg'] = '파일 크기가 초과되어 php.ini 파일로 설정되어 있습니다.';
종료 ( "<cript> parent.callback (". json_encode ($ data) "; </script>");
} elseif ($ error == 2) {
$ data [ 'error'] = 2;
$ data [ 'meg'] = 'max_file_size 옵션에 의해 지정된 값이 초과된다';
종료 ( "<cript> parent.callback (". json_encode ($ data) "; </script>");
} elseif ($ error == 3) {
$ data [ 'error'] = 3;
$ data [ 'meg'] = '파일의 일부만 업로드되었습니다';
종료 ( "<cript> parent.callback (". json_encode ($ data) "; </script>");
} elseif ($ error == 4) {
$ data [ 'error'] = 4;
$ data [ 'meg'] = '파일이 업로드되지 않았다';
종료 ( "<cript> parent.callback (". json_encode ($ data) "; </script>");
}또 다른{
$ data [ 'meg'] = '파일 크기 업로드는 0'입니다.
종료 ( "<cript> parent.callback (". json_encode ($ data) "; </script>");
}
}
}또 다른{
$ data [ 'error'] = 4;
$ data [ 'meg'] = '파일이 업로드되지 않았다';
종료 ( "<cript> parent.callback (". json_encode ($ data) "; </script>");
}
?>