
正文
php批量生成大量数据库 php批量上传文件
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何用php导出导入大数据库
在使用PhpMyAdmin的时候经常用到数据的导入和导出(Export/Import),但是在导入大数据的时候由于php上传文件的限制和脚本响应时间的限制,导致phpMyAdmin无法导入大数据。很多时候都是由于文件过大,从本地浏览上传导入,容易中断失败,有没有更好的方法呢?
方法:
在phpMyAdmin的目录下,找到根目录的config.inc.php文件,
打开config.inc.php文件,查找$cfg['UploadDir'],这个参数就是设定导入文件存放的目录,这里把值设定为:ImportSQLFile。
在phpMyAdmin目录下,建立以ImportSQLFile命名的文件夹,
把我们需要导入的数据文件,放到ImportSQLFile文件夹下面,非常简单,
登入phpMyAdmin,选择需要导入的数据,点击导航条上面的“导入”按钮,
选中“从网站服务器上传文件夹ImportSQLFile/中选择:”选项,并需要导入的数据文件,
最后点击“执行”,即可导入成功。
注意事项
如果在config.inc.php文件,没有找到$cfg['UploadDir'],可以自己在文件中添加上去即可。
相关问答
Q1: PHP 用PHPExcel往数据库导入大量数据
1、首先我们准备一个含有数据的Excel表格,表头和数据表中的表字段相对应。
2、在ThinkPHP中引入PHPExcel类库。
3、然后我们编写导入的PHP代码。
4、然后我们编写导出的PHP代码。
5、然后我们进行导出测试发现可以导出即可。
Q2: php怎么导出大量数据的Excel
php导出大量数据到Excelphp批量生成大量数据库,可以通过生成多个Excel文件,然后压缩成压缩包解决。
方案是:假如我们数据库有10w条数据,每2000条数据生成一个Excel文件,这样每次只要从数据库里查询出2000条数据即可,一定要分页去查询。
原因:主要是数据库性能和写文件性能。分页查询可以解决数据库压力php批量生成大量数据库的问题, 生成多个文件可以解决单个文件太大,后期维护Excel文件的问题。
要注意的:
1. 在导出逻辑文件开头,一定要声明 set_time_limit(0) ,防止脚本超时php批量生成大量数据库;
2. 每个文件生成后,适当的sleep一下,让程序休息一下下php批量生成大量数据库;
3. 因为一次导出最后要将生成的多个Excel文件打包成一个压缩包,所以要删除掉生成的Excel文件,节省服务器存储空间;
下面是我实际工作中,写的一个php导出大量数据到Excel的代码,你可以参考一下:
Q3: Thinkphp怎么批量添加数据
?php
class FileAction extends Action {
public function Index()
{
//print_r(__URL__);
$file = M('file');
$list = $file-select();
$this-assign('filelist',$list);
$this-display();
}
public function upload()
{
//文件上传php批量生成大量数据库的地址上传给它php批量生成大量数据库,并且上传完成后返回一个信息php批量生成大量数据库,让其写入数据库
//如果$_FILES为空的画,我就让action给出一个错误提示,告诉用户必须选择上传文件。如果有上传文件,则调用up方法
//$_FILES = $this-_post('file');
//print_r($_FILES);
if (empty($_FILES)) {
$this-error('必须选择上传文件');
}else {
$a = $this-Up();
//print_r($a);
if (isset($a)) {
//写入数据库方法
if($this-c($a)) {
$this-success('上传成功');
}else {
$this-error('写入数据库失败');
}
}else {
$this-error('上传文件有异常请与系统管理员联系');
}
}
}
private function c($data)
{
//print_r($data);
$file=M('file');
$num = '0';
for($i = 0; $i count($data)-1; $i++) {
$data['filename']=$data[$i]['savename'];
if( $file-data($data)-add())
{
$num++;
}
}
if($num==count($data)-1)
{
return true;
}else {
return false;
}
}
// private function c($data)
// {
// $file = M('file');
// $data['filename'] = $data[0]['savename'];
// if ($file-data($data)-add()) {
// return true;
// }else {
// return false;
// }
// }
//在这个方法当中,完成与thinkphp相关的,文件上传类的调用
private function Up()
{
//echo '模拟上传';
//基本上传功能
//批量上传功能
//生成图片缩略图
//自定义参数上传
//上传检测(大小,后缀,mime类型)
//支持覆盖方式上传
//上传类型,附件大小,上传路径定义
//支持hash或者日期子目录保存上传文件
//上传图片的安全性检测
//对上传文件的hash检测
//上传文件名自定义规范
import('@.ORG.UploadFile');
import('@.ORG.Image');
$upload = new UploadFile();
$upload-maxSize = '1000000'; //指上传文件大小,默认为-1,不限制大小(bytes)
$upload-savePath = './Public/'; //上传保存到什么地方?路径建议保存到入口文件平级或平级目录的子目录
$upload-saveRule = 'uniqid'; //上传文件的文件名保存规则 time uniqid(默认) com_create_guid
$upload-hashType = 'md5_file';
$upload-autoCheck = true; //是否自动检测附件 默认true
$upload-uploadReplace = true; //如果存在同名文件是否进行覆盖
$upload-allowExts = array('jpg','jpeg','png','gif'); //允许上传的文件后缀
$upload-allowPath = array('image/png','image/jpg','image/pjpeg','image/gif','image/jpeg'); //检测mime类型
$upload-thumb = true; // 是否开启图片文件缩略
$upload-thumbMaxWidth = '300,500';//缩略图最大宽度
$upload-thumbMaxHeight = '200,400';//最大高度
$upload-thumbPrefix = 's-,m-';//缩略图文件前缀
//$upload-thumbSuffix = '_s,_m';//文件后缀
//$upload-thumbPath = '';//如果留空直接上传至
//$upload-thumbFile 在数据库中也存一个文件名即可
$upload-thumbRemoveOrigin = 1; //如果生成缩略图,是否删除原图
//$upload-autoSub 是否使用子目录进行保存上传文件
//$upload-subType='' 子目录创建方式默认为hash 也可以为date
//$upload-dateFormat 子目录方式date的指定日期格式
//$upload-hashLevle
//upload() 如果上传成功返回true,失败返回false
if ($upload-upload()) {
$info = $upload-getUploadFileInfo();
return $info;
}else {
//是专门来获取上传的错误信息的
$this-error($upload-getErrorMsg());
}
}
}
?
关于php批量生成大量数据库和php批量上传文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






