我想使用PHP使用iFrame概念上传文件和idno。我在项目中使用了这段代码。
仅此代码工作正常。该文件正在上传。但是当它出现在我的项目中时,它无法正常工作。它显示
未定义的索引myfile
(我总是在Firefox浏览器中测试。)
即使是额外的参数idno也没有发送......
但是在同一页面中,HTML5 Drag and Drop正在运行。
任何帮助?
这是我的代码:
<form method="post" action="Nupload.php" enctype="multipart/form-data" class="manual" id="upload_form" target="upload_target">or
<input type="file" name="myfile" id="myfile" style="display:none" onchange="javascript:getReady();" />
<label for="file">select files from your computer...</label>
<input type="hidden" name="idno" value="2013456" />
<iframe src="Nupload.php" name="upload_target" id="upload_target" style="display:none;">
</iframe>
</form>
脚本:
function getReady()
{
document.getElementById("upload_target").onload = uploadDone();
document.getElementById("upload_form").submit();
}
function uploadDone()
{
var content="";
var iframeId=document.getElementById("upload_target");
if (iframeId.contentDocument) {
content = iframeId.contentDocument.body.innerHTML;
} else if (iframeId.contentWindow) {
content = iframeId.contentWindow.document.body.innerHTML;
} else if (iframeId.document) {
content = iframeId.document.body.innerHTML;
}
alert(content)
}
upload.php的
if( isset($_FILES["myfile"]) )
{
$target = basename($_FILES["myfile"]["name"]);
if(move_uploaded_file($_FILES["myfile"]["tmp_name"],"./temp/".$target))
{
$res = array("success"=>true,"file_name"=>$_FILES["myfile"]["name"],"size"=>$_FILES["myfile"]["size"]);
}
else
$res = array("success"=>false,"desc"=>"no");
echo json_encode($res);
}