搜尋
首頁後端開發php教程php檔案上傳程式碼用法實例解析

php檔案上傳程式碼編寫過程 1. 先判斷是否上傳文件 2. 如果有再來判斷上傳中是否出錯 3. 如果出錯,則提示出錯訊息 4. 如查沒出錯,再判斷文件類型 5. 若類型符合條件,再判斷指定目錄中有沒有存在該文件 6. 如果沒有就把該檔案移至指定目錄 在php中上傳檔案必須知道的幾個東西

  1. 上傳:
複製程式碼

說明: form標答的action="upload.php"是指點擊這個form中的submit的時候,這個上傳指令會被送到這個叫 upload.php的頁面去處理。 method="post"是指以post方式去送,enctype="multipart/form-data"屬性規定了在提交這個表單時要使用哪種內容類型,在表單需要二進位資料時,例如文件內容,請使用"multipart/form-data",如果要上傳文件,這個屬性是必要的。 input中的type="file"時,規定了應該把輸入當作檔案來處理,並且在input後面會有一個瀏覽的按鈕。

一個php處理頁 upload.php

  1. if($_files['myfile']['name'] != '') {
  2. if($ _files['myfile']['error'] > 0) {
  3. echo "錯誤狀態:" . $_files['myfile']['error'];
  4. } else {
  5. move_uploaded_file($ _files['myfile']['tmp_name'] , "uploads/" . $files['myfile']['name']);
  6. echo "<script>alert(上傳成功!);</script> ";
  7. }
  8. } else{
  9. echo "<script>alert(請上傳檔案!);</script>";
  10. }
  11. ?>
複製程式碼

升級下以上的php程式碼。 1、upload.php

  1. php檔案上傳程式碼_bbs.it-home.org
  2. 請填入使用者名稱
    請簡單介紹文件
    請上傳你的檔案
複製程式碼

2、uploadprocess.php

  1. //接收

  2. $username=$_post['username'];
  3. $fileintro=$_post['fileintro'];
  4. //echo $username.$fileintro;

  5. //取得檔案資訊
  6. /* echo "
    "; 
  7. print_r($_files);
  8. echo "";
  9. */
  10. //取得檔案的大小
  11. $file_size=$_files['myfile']['size '];
  12. if($file_size>2*1024*1024){
  13. echo "";
  14. exit();
  15. }
  16. //取得檔案類型
  17. $file_type=$_files['myfile']['type'];
  18. if($file_type!="image/ jpeg" && $file_type!="image/pjpeg"){
  19. echo "檔案類型只能是jpg 格式";
  20. exit();
  21. }
  22. //判斷上傳是否ok
  23. if(is_uploaded_file($_files['myfile']['tmp_name'])){
  24. //得到上傳的檔案轉存到你想要的目錄
  25. $upload_file=$_files['myfile'][ 'tmp_name'];
  26. //防止圖片覆蓋問題,為每個使用者建立一個資料夾

  27. $user_path=$_server['document_root']."/file/up/ ".$username;
  28. if(!file_exists($user_path)){
  29. mkdir ($user_path);
  30. }
  31. //$move_to_file=$user_path."/".$_files[' myfile']['name'];
  32. //防止使用者上傳使用者名稱相同的問題
  33. $file_true_name=$_files['myfile']['name'];
  34. $move_to_file=$user_path. "/".time().rand(1,1000).substr($file_true_name,strripos($file_true_name,"."));
  35. //echo $upload_file.$move_to_file;
  36. //中文要轉碼
  37. if(move_uploaded_file($upload_file,iconv("utf-8","gb2312","$move_to_file"))){
  38. echo $_files['myfile']['name']."上傳成功";
  39. }else{
  40. echo "上傳失敗";
  41. }
  42. }else{
  43. echo "上傳失敗";
  44. }
  45. ?>
  46. ?>
  47. ?
複製程式碼

注意: 例如一個圖片檔案 pic.jpg,用 strrchr處理,strrchr(pic.jpg,'.'),它將返回.jpg,明白了嗎?該函數傳回指定字元在該字串最後出現的位置後的字元。 配合 substr() 我們就可以取到jpg,這樣就得到了檔案的後綴名,來判斷上傳檔案是否符合指定格式。本程式把指定的格式放在一個陣列中,實際使用時可依需求添加。

再看產生隨機數檔名部分, 看到mt_srand()這個函數,手冊上叫他“播下一個更好的隨機數發生器種子”,其實就是初始化一個隨機數的函數,參數是( double)microtime() * 1000000,這裡如果不這是參數就會自動設定個隨機數,當然這不符合需要,如此一來,隨機數就具備一定的長度,保證了上傳檔案不重名。


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何使PHP應用程序更快如何使PHP應用程序更快May 12, 2025 am 12:12 AM

tomakephpapplicationsfaster,關注台詞:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

PHP性能優化清單:立即提高速度PHP性能優化清單:立即提高速度May 12, 2025 am 12:07 AM

到ImprovephPapplicationspeed,關注台詞:1)啟用opcodeCachingwithapCutoredUcescriptexecutiontime.2)實現databasequerycachingingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandreduceconnection.4 limitesclection.4.4

PHP依賴注入:提高代碼可檢驗性PHP依賴注入:提高代碼可檢驗性May 12, 2025 am 12:03 AM

依赖注入(DI)通过显式传递依赖关系,显著提升了PHP代码的可测试性。1)DI解耦类与具体实现,使测试和维护更灵活。2)三种类型中,构造函数注入明确表达依赖,保持状态一致。3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

PHP性能優化:數據庫查詢優化PHP性能優化:數據庫查詢優化May 12, 2025 am 12:02 AM

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

簡單指南:帶有PHP腳本的電子郵件發送簡單指南:帶有PHP腳本的電子郵件發送May 12, 2025 am 12:02 AM

phpisusedforsenderemailsduetoitsbuilt-inmail()函數andsupportivelibrariesLikePhpMailerAndSwiftMailer.1)usethemail()functionForbasiceMails,butithasimails.2)butithasimail.2)

PHP性能:識別和修復瓶頸PHP性能:識別和修復瓶頸May 11, 2025 am 12:13 AM

PHP性能瓶颈可以通过以下步骤解决:1)使用Xdebug或Blackfire进行性能分析,找出问题所在;2)优化数据库查询并使用缓存,如APCu;3)使用array_filter等高效函数优化数组操作;4)配置OPcache进行字节码缓存;5)优化前端,如减少HTTP请求和优化图片;6)持续监控和优化性能。通过这些方法,可以显著提升PHP应用的性能。

PHP的依賴注入:快速摘要PHP的依賴注入:快速摘要May 11, 2025 am 12:09 AM

依賴性注射(DI)InphpisadesignPatternthatManages和ReducesClassDeptions,增強量強制性,可驗證性和MATIALWINABIOS.ItallowSpasspassingDepentenciesLikEdenciesLikedAbaseConnectionStoclasseconnectionStoclasseSasasasasareTers,interitationAseTestingEaseTestingEaseTestingEaseTestingEasingAndScalability。

提高PHP性能:緩存策略和技術提高PHP性能:緩存策略和技術May 11, 2025 am 12:08 AM

cachingimprovesphpermenceByStorcyResultSofComputationsorqucrouctationsorquctationsorquickretrieval,reducingServerLoadAndenHancingResponsetimes.feftectivestrategiesinclude:1)opcodecaching,whereStoresCompiledSinmememorytssinmemorytoskipcompliation; 2)datacaching datacachingsingMemccachingmcachingmcachings

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具