本文主要和大家详细介绍php+ajax实现异步上传文件或图片功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。
//html代码 <form enctype="multipart/form-data" id="upForm"> <input type="file" name="file" ><br><br> <input type="button" value="提交"> </form> <p class="picDis"> <img src="/static/imghwm/default1.png" data-src="" alt=" class="lazy" alt=""> </p>
//js代码 (':button').click(function(event) { //formdata储存异步上传数据 var formData = new FormData($('form')[0]); formData.append('file',$(':file')[0].files[0]); //坑点: 无论怎么传数据,console.log(formData)都会显示为空,但其实值是存在的,f12查看Net tab可以看到数据被上传了 $.ajax({ url:'formtest.php', type: 'POST', data: formData, //这两个设置项必填 contentType: false, processData: false, success:function(data){ console.log(data) var srcPath = data; console.log(); //注意这里的路径要根据自己的储存文件的路径设置 $('.picDis img').attr('src', '..'+srcPath); } }) });
php:
<?php $upFile = $_FILES['file']; /** * 创建文件夹函数,用于创建保存文件的文件夹 * @param str $dirPath 文件夹名称 * @return str $dirPath 文件夹名称 */ function creaDir($dirPath){ $curPath = dirname(__FILE__); $path = $curPath.'\\'.$dirPath; if (is_dir($path) || mkdir($path,0777,true)) { return $dirPath; } } //判断文件是否为空或者出错 if ($upFile['error']==0 && !empty($upFile)) { $dirpath = creaDir('upload'); $filename = $_FILES['file']['name']; $queryPath = './'.$dirpath.'/'.$filename; //move_uploaded_file将浏览器缓存file转移到服务器文件夹 if(move_uploaded_file($_FILES['file']['tmp_name'],$queryPath)){ echo $queryPath; } } ?>
点击上传图片并发送后, 可以看到页面上显示出图片, 查看本地文件夹可以看到文件也已储存到服务器.
在客户端实现异步上传的关键在于FormData,关于这部分这里有详细介绍: FormData()
相关推荐:
以上是php和ajax實現非同步上傳檔案或圖片程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

DependencyInjection(DI)inPHPenhancescodeflexibilityandtestabilitybydecouplingdependencycreationfromusage.ToimplementDIeffectively:1)UseDIcontainersjudiciouslytoavoidover-engineering.2)Avoidconstructoroverloadbylimitingdependenciestothreeorfour.3)Adhe

到Improveyourphpwebsite的實力,UsEthestertate:1)emplastOpCodeCachingWithOpcachetCachetOspeedUpScriptInterpretation.2)優化的atabasequesquesquesquelies berselectingOnlynlynnellynnessaryfields.3)usecachingsystemssslikeremememememcachedisemcachedtoredtoredtoredsatabaseloadch.4)

是的,ItispossibletosendMassemailswithp.1)uselibrarieslikeLikePhpMailerorSwiftMailerForeffitedEmailsending.2)enasledeLaysBetenemailstoavoidSpamflagssspamflags.3))

DependencyInjection(DI)inPHPisadesignpatternthatachievesInversionofControl(IoC)byallowingdependenciestobeinjectedintoclasses,enhancingmodularity,testability,andflexibility.DIdecouplesclassesfromspecificimplementations,makingcodemoremanageableandadapt

使用PHP發送電子郵件的最佳方法包括:1.使用PHP的mail()函數進行基本發送;2.使用PHPMailer庫發送更複雜的HTML郵件;3.使用SendGrid等事務性郵件服務提高可靠性和分析能力。通過這些方法,可以確保郵件不僅到達收件箱,還能吸引收件人。

計算PHP多維數組的元素總數可以使用遞歸或迭代方法。 1.遞歸方法通過遍歷數組並遞歸處理嵌套數組來計數。 2.迭代方法使用棧來模擬遞歸,避免深度問題。 3.array_walk_recursive函數也能實現,但需手動計數。

在PHP中,do-while循環的特點是保證循環體至少執行一次,然後再根據條件決定是否繼續循環。 1)它在條件檢查之前執行循環體,適合需要確保操作至少執行一次的場景,如用戶輸入驗證和菜單系統。 2)然而,do-while循環的語法可能導致新手困惑,且可能增加不必要的性能開銷。

在PHP中高效地哈希字符串可以使用以下方法:1.使用md5函數進行快速哈希,但不適合密碼存儲。 2.使用sha256函數提高安全性。 3.使用password_hash函數處理密碼,提供最高安全性和便捷性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

Dreamweaver CS6
視覺化網頁開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境