html程式碼
html lang=<span>"en"</span>> head> meta charset=<span>"UTF-8"</span>> meta name=<span>"Generator" </span>content=<span>"EditPlus?"</span>> meta name=<span>"Author" </span>content=<span>""</span>> meta name=<span>"Keywords" </span>content=<span>""</span>> meta name=<span>"Description" </span>content=<span>""</span>> title>Document<span>title</span>> <span>head</span>> body> center> br>br>br> br>br>br> form method=<span>"post" </span>action=<span>"a.php" </span>enctype=<span>"multipart/form-data"</span>> input type=<span>"button" </span>value=<span>"下载" </span>onclick=<span>"</span><span>download</span>()<span>"</span>> input type=<span>'button' </span>value=<span>"加一个" </span>onclick=<span>"</span><span>jia</span>()<span>"</span>>br>br id=<span>"j"</span>> 上传:input type=<span>"file" </span>name=<span>'file' </span>id=<span>'file'</span>>br>br> input type=<span>'submit' </span>value=<span>"OK"</span>> <span>form</span>> <span>center</span>> <span>body</span>> script src=<span>"./jq.js"</span>><span>script</span>> script> <span>var </span><span>i</span><span>=</span><span>1</span>; <span>function </span><span>jia</span>(){ $(<span>"#j"</span>).after(<span>'上传:<input type="file" name="file'</span><span>+</span><span>i</span><span>+</span><span>'" id="file'</span><span>+</span><span>i</span><span>+</span><span>'"><br><br>'</span>); <span>i</span><span>++</span>; } <span>function </span><span>download</span>(){ <span>location</span>.<span>href</span><span>=</span><span>'b.php'</span>; } <span>script</span>> <span>html</span>>
php程式碼上傳
<span><?php </span><span>header(</span><span>"Content-type:text/html;charset=utf-8"</span><span>);</span><span>//设置编码 </span><span>$dsn=</span><span>"mysql:dbname=book;host=localhost"</span><span>; </span><span>$db=new </span><span>PDO(</span><span>$dsn</span><span>,</span><span>'root'</span><span>,</span><span>'root'</span><span>,</span><span>array</span><span>(PDO</span><span>::</span><span>MYSQL_ATTR_INIT_COMMAND</span><span>=></span><span>'SET NAMES </span><span>\'</span><span>UTF8</span><span>\'</span><span>'</span><span>));</span><span>//连接数据库,设置传递数据库的数据为utf8的编码格式 </span><span>//引入excel类 </span><span>include </span><span>'./PHPExcel.php'</span><span>; </span><span>//引用类文件 </span><span>include </span><span>'./PHPExcel/IOFactory.php'</span><span>;</span><span>//引用相应的类文件 </span><span> /*echo $_FILES["file"]["name"] . "<br>"; </span><span> echo $_FILES["file"]["type"] . "<br>"; </span><span> echo ($_FILES["file"]["size"] / 1024) . " Kb<br>"; </span><span> echo $_FILES["file"]["tmp_name"]. "<br>";*/ </span><span></span><span>foreach</span><span>(</span><span>$_FILES as $key </span><span>=> </span><span>$val</span><span>){ </span><span></span><span>$str = </span><span>substr(</span><span>$val</span><span>[</span><span>'name'</span><span>],strrpos(</span><span>$val</span><span>[</span><span>'name'</span><span>],</span><span>'.'</span><span>)</span><span>+</span><span>1</span><span>); </span><span></span><span>if </span><span>(</span><span>$val</span><span>[</span><span>"error"</span><span>] </span><span>> </span><span>0</span><span>) </span><span> { </span><span></span><span>echo $val</span><span>[</span><span>'name'</span><span>]</span><span>.</span><span>"上传发生错误"</span><span>. </span><span>"<br>"</span><span>; </span><span></span><span>continue</span><span>; </span><span> } </span><span></span><span>if</span><span>(</span><span>$str != </span><span>'xls'</span><span>){ </span><span></span><span>echo </span><span>'必须是xls文件'</span><span>. </span><span>"<br>"</span><span>; </span><span></span><span>continue</span><span>; </span><span> } </span><span></span><span>if </span><span>(file_exists(iconv(</span><span>"UTF-8"</span><span>,</span><span>"GB2312"</span><span>,</span><span>'./xls/'</span><span>.$val</span><span>[</span><span>"name"</span><span>]))) </span><span> { </span><span></span><span>echo $val</span><span>[</span><span>'name'</span><span>] </span><span>. </span><span>"已存在"</span><span>. </span><span>"<br>"</span><span>; </span><span></span><span>continue</span><span>; </span><span> } </span><span></span><span>else </span><span></span><span>{ </span><span> move_uploaded_file(</span><span>$val</span><span>[</span><span>"tmp_name"</span><span>],iconv(</span><span>"UTF-8"</span><span>,</span><span>"GB2312"</span><span>,</span><span>'./xls/'</span><span>.$val</span><span>[</span><span>"name"</span><span>])); </span><span></span><span>echo $val</span><span>[</span><span>"name"</span><span>],</span><span>'以上传成功!'</span><span>; </span><span> } </span><span></span><span>$xlsPath = </span><span>iconv(</span><span>"UTF-8"</span><span>,</span><span>"GB2312"</span><span>,</span><span>'./xls/'</span><span>.$val</span><span>[</span><span>"name"</span><span>]); </span><span>//指定要读取的exls路径 </span><span> //$type = 'Excel2007'; //设置要解析的Excel类型 Excel5(2003或以下版本)或Excel2007 </span><span></span><span>$type = </span><span>'Excel5'</span><span>; </span><span></span><span>$xlsReader = </span><span>PHPExcel_IOFactory</span><span>::</span><span>createReader(</span><span>$type</span><span>); </span><span></span><span>$Sheets = $xlsReader-></span><span>load(</span><span>$xlsPath</span><span>); </span><span></span><span>//开始读取 </span><span></span><span>$Sheet = $Sheets-></span><span>getSheet(</span><span>0</span><span>)</span><span>-></span><span>toArray(); </span><span>//读取第一个工作表(注意编号从0开始) 如果读取多个可以做一个循环0,1,2,3.... </span><span></span><span> //得到二维数组,每个小数组是excel表格内容的一行 里面包含此行的每列的数据 </span><span></span><span>echo </span><span>'<pre class="brush:php;toolbar:false">'; //print_r($Sheet);die; foreach($Sheet as $k=>$v){ $res=$db->exec("INSERT INTO a (data) values('".$v[1]."')");//写入数据库 if($res){ //print_r($Sheet); //执行成功后,输出数据 } } } ?>
php程式碼下載
<span><?php </span><span>header(</span><span>"Content-type:text/html;charset=utf-8"</span><span>);</span><span>//设置编码 </span><span>function </span><span>exportExcel(</span><span>$filename</span><span>,</span><span>$content</span><span>){ </span><span> header(</span><span>"Cache-Control: must-revalidate, post-check=0, pre-check=0"</span><span>); </span><span> header(</span><span>"Content-Type: application/vnd.ms-execl"</span><span>); </span><span> header(</span><span>"Content-Type: application/force-download"</span><span>); </span><span> header(</span><span>"Content-Type: application/download"</span><span>); </span><span> header(</span><span>"Content-Disposition: attachment; filename="</span><span>.$filename</span><span>); </span><span> header(</span><span>"Content-Transfer-Encoding: binary"</span><span>); </span><span> header(</span><span>"Pragma: no-cache"</span><span>); </span><span> header(</span><span>"Expires: 0"</span><span>); </span><span></span><span>echo $content</span><span>; </span><span></span><span>} </span><span></span><span></span><span>$dsn=</span><span>"mysql:dbname=book;host=localhost"</span><span>; </span><span>$db=new </span><span>PDO(</span><span>$dsn</span><span>,</span><span>'root'</span><span>,</span><span>'root'</span><span>,</span><span>array</span><span>(PDO</span><span>::</span><span>MYSQL_ATTR_INIT_COMMAND</span><span>=></span><span>'SET NAMES </span><span>\'</span><span>UTF8</span><span>\'</span><span>'</span><span>));</span><span>//实例化pdo对象 </span><span>$res=$db-></span><span>query(</span><span>"select * from a"</span><span>);</span><span>//从数据库查询数据 </span><span>$str = </span><span>"id</span><span>\t</span><span>数据</span><span>\t\n</span><span>"</span><span>; </span><span>$str = </span><span>iconv(</span><span>'utf-8'</span><span>,</span><span>'gb2312'</span><span>,</span><span>$str</span><span>);</span><span>//iconv() 是编码转换函数 </span><span>$row=$res-></span><span>fetchAll(); </span><span>foreach</span><span>(</span><span>$row as $key </span><span>=> </span><span>$val</span><span>){ </span><span></span><span>$id = </span><span>iconv(</span><span>'utf-8'</span><span>,</span><span>'gb2312'</span><span>,</span><span>$val</span><span>[</span><span>'id'</span><span>]); </span><span></span><span>$data = </span><span>iconv(</span><span>'utf-8'</span><span>,</span><span>'gb2312'</span><span>,</span><span>$val</span><span>[</span><span>'data'</span><span>]); </span><span></span><span>$str .= $id.</span><span>"</span><span>\t</span><span>"</span><span>.$data.</span><span>"</span><span>\t\n</span><span>"</span><span>; </span><span>} </span><span>$filename = </span><span>date(</span><span>'Ymd'</span><span>)</span><span>.</span><span>'.xls'</span><span>; </span><span>exportExcel(</span><span>$filename</span><span>,</span><span>$str</span><span>); </span><span>//生成excel表格</span></span>
以上就介紹了excel上傳下載,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

PHPSession失效的原因包括配置錯誤、Cookie問題和Session過期。 1.配置錯誤:檢查並設置正確的session.save_path。 2.Cookie問題:確保Cookie設置正確。 3.Session過期:調整session.gc_maxlifetime值以延長會話時間。

在PHP中調試會話問題的方法包括:1.檢查會話是否正確啟動;2.驗證會話ID的傳遞;3.檢查會話數據的存儲和讀取;4.查看服務器配置。通過輸出會話ID和數據、查看會話文件內容等方法,可以有效診斷和解決會話相關的問題。

多次調用session_start()會導致警告信息和可能的數據覆蓋。 1)PHP會發出警告,提示session已啟動。 2)可能導致session數據意外覆蓋。 3)使用session_status()檢查session狀態,避免重複調用。

在PHP中配置會話生命週期可以通過設置session.gc_maxlifetime和session.cookie_lifetime來實現。 1)session.gc_maxlifetime控制服務器端會話數據的存活時間,2)session.cookie_lifetime控制客戶端cookie的生命週期,設置為0時cookie在瀏覽器關閉時過期。

使用數據庫存儲會話的主要優勢包括持久性、可擴展性和安全性。 1.持久性:即使服務器重啟,會話數據也能保持不變。 2.可擴展性:適用於分佈式系統,確保會話數據在多服務器間同步。 3.安全性:數據庫提供加密存儲,保護敏感信息。

在PHP中實現自定義會話處理可以通過實現SessionHandlerInterface接口來完成。具體步驟包括:1)創建實現SessionHandlerInterface的類,如CustomSessionHandler;2)重寫接口中的方法(如open,close,read,write,destroy,gc)來定義會話數據的生命週期和存儲方式;3)在PHP腳本中註冊自定義會話處理器並啟動會話。這樣可以將數據存儲在MySQL、Redis等介質中,提升性能、安全性和可擴展性。

SessionID是網絡應用程序中用來跟踪用戶會話狀態的機制。 1.它是一個隨機生成的字符串,用於在用戶與服務器之間的多次交互中保持用戶的身份信息。 2.服務器生成並通過cookie或URL參數發送給客戶端,幫助在用戶的多次請求中識別和關聯這些請求。 3.生成通常使用隨機算法保證唯一性和不可預測性。 4.在實際開發中,可以使用內存數據庫如Redis來存儲session數據,提升性能和安全性。

在無狀態環境如API中管理會話可以通過使用JWT或cookies來實現。 1.JWT適合無狀態和可擴展性,但大數據時體積大。 2.Cookies更傳統且易實現,但需謹慎配置以確保安全性。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

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