php怎么导出大数据库,php文件上传到数据库

如何用php导出导入大数据库

在使用PhpMyAdmin的时候经常用到数据的导入和导出(Export/Import),但是在导入大数据的时候由于php上传文件的限制和脚本响应时间的限制,导致phpMyAdmin无法导入大数据。很多时候都是由于文件过大,从本地浏览上传导入,容易中断失败,有没有更好的方法呢?

成都创新互联主要从事网站设计、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务辰溪,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

方法:

在phpMyAdmin的目录下,找到根目录的config.inc.php文件,

打开config.inc.php文件,查找$cfg['UploadDir'],这个参数就是设定导入文件存放的目录,这里把值设定为:ImportSQLFile。

在phpMyAdmin目录下,建立以ImportSQLFile命名的文件夹,

把我们需要导入的数据文件,放到ImportSQLFile文件夹下面,非常简单,

登入phpMyAdmin,选择需要导入的数据,点击导航条上面的“导入”按钮,

选中“从网站服务器上传文件夹ImportSQLFile/中选择:”选项,并需要导入的数据文件,

最后点击“执行”,即可导入成功。

注意事项

如果在config.inc.php文件,没有找到$cfg['UploadDir'],可以自己在文件中添加上去即可。

php怎么导出大量数据的Excel

php导出大量数据到Excel,可以通过生成多个Excel文件,然后压缩成压缩包解决。

方案是:假如我们数据库有10w条数据,每2000条数据生成一个Excel文件,这样每次只要从数据库里查询出2000条数据即可,一定要分页去查询。

原因:主要是数据库性能和写文件性能。分页查询可以解决数据库压力的问题, 生成多个文件可以解决单个文件太大,后期维护Excel文件的问题。

要注意的:

1. 在导出逻辑文件开头,一定要声明 set_time_limit(0) ,防止脚本超时;

2. 每个文件生成后,适当的sleep一下,让程序休息一下下;

3. 因为一次导出最后要将生成的多个Excel文件打包成一个压缩包,所以要删除掉生成的Excel文件,节省服务器存储空间;

下面是我实际工作中,写的一个php导出大量数据到Excel的代码,你可以参考一下:

谁能教我用php把mysql数据库中的信息导出到csv文件中

在PHP网站建设中,针对Mysql数据库的保护是平常工作,Mysql数据库的导入和导出实现...

如果你想phpmyadmin导入大文件,最简单的方法是修改php.ini配置文件中文件上传大小...

导入数据库文件太大怎么办max

解决方法如下:

(1)修改php.ini适用自己有服务器的人

大多数都修改php.ini中的upload_max_filesize,但修改了这个以后,还是提示这个问题;

那么更改如下几处:

修改

PHP.ini

file_uploads

on

是否允许通过HTTP上传文件的开关。默认为ON即是开

upload_tmp_dir

 文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹

upload_max_filesize

20m

 

望文生意,即允许上传文件大小的最大值。默认为2M

post_max_size

30m

 

指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M

说明

一般地,设置好上述四个参数后,在网络正常的情况下,上传=8M的文件是不成问题

但如果要上传8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得继续设置下面的参数。

max_execution_time

300

每个PHP页面运行的最大时间值(秒),默认30秒

max_input_time

300

每个PHP页面接收数据所需的最大时间,默认60秒

memory_limit

128m

每个PHP页面所吃掉的最大内存,默认8M

设定

POST

数据所允许的最大大小。此设定也影响到文件上传。要上传大文件,该值必须大于

upload_max_filesize。

如果配置脚本中激活了内存限制,memory_limit

也会影响文件上传。通常说,memory_limit

应该比

post_max_size

要大。

(2)这个方法很简单,不需要修改php.ini参数,

适用把站放在虚拟主机的人。

打开phpMyAdmin目录下的配置文件:config.inc.php

请注意其中的这两个参数:

$cfg['UploadDir']

=

‘A‘;

$cfg['SaveDir']

=

‘B‘;

在phpMyAdmin目录下自行建立文件夹A和B来对应UploadDir(导入目录)和SaveDir(导出目录)。

导出操作:

1、登陆phpMyAdmin

2、在左侧选中你需要备份导出的数据库

3、在右侧窗口中找到“导出”

4、在右侧窗口底部选择“保存于服务器的

B/

目录”

5、选择压缩模式,提交“执行”即可在B文件夹中找到该数据库的导出数据。

导入操作:

1、上传准备导入的数据文件到A目录

2、登陆phpMyAdmin

3、在左侧选中你需要备份导出的数据库

4、在右侧窗口中找到“Import”(导出)

5、在右侧窗口“网站服务器上载目录”中选择需要导入的数据文件,提交“执行”完成导入

php用 if语句 如何输出数据库内容

先定义头部信息,表示输出一个excel。

然后再以table的形式把数据库的信息循环的echo出来。

?php 

header("Content-type:application/vnd.ms-excel");

header("Content-Disposition:filename=xls_region.xls");

$cfg_dbhost = 'localhost';

$cfg_dbname = 'testdb';

$cfg_dbuser = 'root';

$cfg_dbpwd = 'root';

$cfg_db_language = 'utf8';

// END 配置

//链接数据库

$link = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);

mysql_select_db($cfg_dbname);

//选择编码 

mysql_query("set names ".$cfg_db_language);

//users表

$sql = "desc users"; 

$res = mysql_query($sql);

echo "tabletr";

//导出表头(也就是表中拥有的字段)

while($row = mysql_fetch_array($res)){

$t_field[] = $row['Field']; //Field中的F要大写,否则没有结果

echo "th".$row['Field']."/th";

}

echo "/tr";

//导出100条数据

$sql = "select * from users limit 100";

$res = mysql_query($sql);

while($row = mysql_fetch_array($res)){

echo "tr";

foreach($t_field as $f_key){

echo "td".$row[$f_key]."/td";

}

echo "/tr";

}

echo "/table"; 

?


分享标题:php怎么导出大数据库,php文件上传到数据库
文章地址:http://scyanting.com/article/hohceh.html