网站建设报道稿,wordpress视频无画面,企业网站模板建站怎么用,网站自定义错误页面模板之前做一个文件上传的#xff0c;由于那段时间写ajax比较多#xff0c;所以就想利用Ajax来实现#xff0c;后来发现#xff0c;Ajax没法实现文件上传#xff0c; 后来百度之#xff0c;这里做个备忘。 提示#xff1a;利用form表单的target属性和iframe 一、上传文件的一… 之前做一个文件上传的由于那段时间写ajax比较多所以就想利用Ajax来实现后来发现Ajax没法实现文件上传 后来百度之这里做个备忘。 提示利用form表单的target属性和iframe 一、上传文件的一个php方法。该方法接受一个$file参数该参数为从客户端获取的$_FILES变量返回重新命名后的文件名如果上传失败则返回空字符串。php代码 function uploadFile($file) { // 上传路径 $destinationPath ./upload/; if (!file_exists($destinationPath)){ mkdir($destinationPath , 0777); } //重命名 $fileName date(YmdHis) . _ . iconv(utf-8 , gb2312 , basename($file[name])); if (move_uploaded_file($file[tmp_name], $destinationPath . $fileName)) { return iconv(gb2312 , utf-8 , $fileName); } return ; } 二、客户端HTML代码这里正是技巧所在添加另一个iframe来实现。表单标签form定义了一个属性target该属性解释如下[pre]target属性_blank ---------- 新开窗口_self ----------- 自身_top ------------ 主框架_parent --------- 父框架自定义名字 ----- 出现于框架结构将会在该名称的框架内打开链接本例中采用iframe名字所以表单在提交时会在iframe内打开链接即无刷新确切的说应该是感觉无刷新在表单提交时调用startUpload方法当然这是JS定义的。[/pre][pre]此外我们还定义一个span来显示提示信息。代码如下[/pre]xhtml代码 form idupForm actionupload.php methodpost enctypemultipart/form-data targetupload_target οnsubmitstartUpload() 导入文件input typefile namemyfile idmyfile / input typesubmit namesubmitBtn value导入 / iframe idupload_target nameupload_target src# stylewidth:0;height:0;border:0px solid #fff;iframe form span idinfospan 三、JS部分这部分比较简单只是显示提示信息javascript代码 function startUpload() { var spanObj document.getElementById(info); spanObj.innerHTML 开始上传; } function stopUpload(responseText){ var spanObj document.getElementById(info); spanObj.innerHTML 上传成功; spanObj.innerHTML responseText; } 接下来就要看服务器端得处理了。四、服务器段处理部分php代码 $file $_FILES[myfile]; $fileName uploadFile($file); $result readFromFile(./upload/ . $fileName); 此外在后面还应该加上一句JS代码用来调用stopUpload方法。javascript代码 window.top.window.stopUpload(); 最后在补上php中的readFromFile方法就大功告成了。php代码 function readFromFile($target_path) { // 读取文件内容 $file fopen($target_path,r) or die(unable to open file); $fileContent ; while(!feof($file)) { $str fgets($file); $fileContent . $str; } fclose($file); return $fileContent; } 转载于:https://www.cnblogs.com/spemoon/archive/2011/01/07/1930221.html