新聞中心
如何用php導(dǎo)出導(dǎo)入大數(shù)據(jù)庫
在使用PhpMyAdmin的時(shí)候經(jīng)常用到數(shù)據(jù)的導(dǎo)入和導(dǎo)出(Export/Import),但是在導(dǎo)入大數(shù)據(jù)的時(shí)候由于php上傳文件的限制和腳本響應(yīng)時(shí)間的限制,導(dǎo)致phpMyAdmin無法導(dǎo)入大數(shù)據(jù)。很多時(shí)候都是由于文件過大,從本地瀏覽上傳導(dǎo)入,容易中斷失敗,有沒有更好的方法呢?
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比煙臺(tái)網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式煙臺(tái)網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋煙臺(tái)地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。
方法:
在phpMyAdmin的目錄下,找到根目錄的config.inc.php文件,
打開config.inc.php文件,查找$cfg['UploadDir'],這個(gè)參數(shù)就是設(shè)定導(dǎo)入文件存放的目錄,這里把值設(shè)定為:ImportSQLFile。
在phpMyAdmin目錄下,建立以ImportSQLFile命名的文件夾,
把我們需要導(dǎo)入的數(shù)據(jù)文件,放到ImportSQLFile文件夾下面,非常簡(jiǎn)單,
登入phpMyAdmin,選擇需要導(dǎo)入的數(shù)據(jù),點(diǎn)擊導(dǎo)航條上面的“導(dǎo)入”按鈕,
選中“從網(wǎng)站服務(wù)器上傳文件夾ImportSQLFile/中選擇:”選項(xiàng),并需要導(dǎo)入的數(shù)據(jù)文件,
最后點(diǎn)擊“執(zhí)行”,即可導(dǎo)入成功。
注意事項(xiàng)
如果在config.inc.php文件,沒有找到$cfg['UploadDir'],可以自己在文件中添加上去即可。
php怎么導(dǎo)出大量數(shù)據(jù)的Excel
用這個(gè)吧:PHPExcel
步驟:
1.百度:phpexcel,結(jié)果如圖所示,點(diǎn)擊第一個(gè)結(jié)果;
2.進(jìn)入官網(wǎng)后,找到右邊的download按鈕,下載,下載完成的是一個(gè)壓縮文件,解壓放到你的項(xiàng)目目錄里,根據(jù)個(gè)人情況而定;
3.因?yàn)檫@里給大家做演示,所以建了一個(gè)測(cè)試文件,有點(diǎn)基礎(chǔ)的都能明白是怎么回事,下面進(jìn)入代碼;
4.
//引入PHPExcel庫文件(路徑根據(jù)自己情況)
include './phpexcel/Classes/PHPExcel.php';
//創(chuàng)建對(duì)象
$excel = new PHPExcel();
//Excel表格式,這里簡(jiǎn)略寫了8列
$letter = array('A','B','C','D','E','F','F','G');
//表頭數(shù)組
$tableheader = array('學(xué)號(hào)','姓名','性別','年齡','班級(jí)');
//填充表頭信息
for($i = 0;$i count($tableheader);$i++) {
$excel-getActiveSheet()-setCellValue("$letter[$i]1","$tableheader[$i]");
}
5.
//表格數(shù)組
$data = array(
array('1','小王','男','20','100'),
array('2','小李','男','20','101'),
array('3','小張','女','20','102'),
array('4','小趙','女','20','103')
);
//填充表格信息
for ($i = 2;$i = count($data) + 1;$i++) {
$j = 0;
foreach ($data[$i - 2] as $key=$value) {
$excel-getActiveSheet()-setCellValue("$letter[$j]$i","$value");
$j++;
}
}
6.
//創(chuàng)建Excel輸入對(duì)象
$write = new PHPExcel_Writer_Excel5($excel);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename="testdata.xls"');
header("Content-Transfer-Encoding:binary");
$write-save('php://output');
7.打開頁面,刷新的時(shí)候會(huì)彈出對(duì)話框,讓你選擇文件保存路徑和文件名稱,我直接放在了桌面上,如圖所示;
8.打開表格后,數(shù)據(jù)和格式跟代碼中的一致,說明PHP導(dǎo)出的Excel是正確的。如果出現(xiàn)錯(cuò)誤,檢查一下你的表格數(shù)組和數(shù)據(jù)數(shù)組吧。
PHP導(dǎo)出100萬數(shù)據(jù)到excel
php導(dǎo)出數(shù)據(jù)excel有專門的庫,當(dāng)導(dǎo)出少量數(shù)據(jù)的時(shí)候速度很快,但是當(dāng)數(shù)據(jù)量大的時(shí)候就會(huì)存在服務(wù)器內(nèi)存不夠之類的。
所以在導(dǎo)出大量數(shù)據(jù)的時(shí)候就應(yīng)該分頁查詢數(shù)據(jù),避免服務(wù)器宕機(jī)。正好PHP提供了fputcsv函數(shù)可以將數(shù)據(jù)寫入到csv文件中。
這樣我們就可以使用PHP對(duì)數(shù)據(jù)進(jìn)行分頁查詢,再寫入到csv文件中。
網(wǎng)站標(biāo)題:大量數(shù)據(jù)導(dǎo)出php 大量數(shù)據(jù)導(dǎo)出的解決方案
文章出自:http://fisionsoft.com.cn/article/doeghdh.html