导航:首页 > 网络数据 > php上传大数据库

php上传大数据库

发布时间:2023-09-13 03:56:28

Ⅰ php如何读取CSV大文件并且将其导入数据库示例

思路:

读取csv文件,每读取一行数据,就插入数据库

示例

文件夹结构

/
file.csv//csv大文件,这里只模拟三行数据,不考虑运行效率(PS:csv文件格式很简单,文件一般较小,解析很快,运行效率的瓶颈主要在写入数据库操作)
index.php//php文件

file.csv

singi,20
lily,19
daming,23

index.php

/**
*读取csv文件,每读取一行数据,就插入数据库
*/

//获取数据库实例
$dsn='mysql:dbname=test;host=127.0.0.1';
$user='root';
$password='';
try{
$db=newPDO($dsn,$user,$password);
}catch(PDOException$e){
echo'Connectionfailed:'.$e->getMessage();
}

//读取file.csv文件
if(($handle=fopen("file.csv","r"))!==FALSE){
while(($row=fgetcsv($handle,1000,","))!==FALSE){
//写入数据库
$sth=$db->prepare('insertintotestsetname=:name,age=:age');
$sth->bindParam(':name',$row[0],PDO::PARAM_STR,255);
$sth->bindParam(':age',$row[1],PDO::PARAM_INT);
$sth->execute();
}
fclose($handle);
}

数据表

CREATETABLE`test`(
`id`INT(10)UNSIGNEDNOTNULLAUTO_INCREMENT,
`name`VARCHAR(255)NULLDEFAULT''COLLATE'utf8mb4_bin',
`age`INT(10)NULLDEFAULT'0',
PRIMARYKEY(`id`)
)
COLLATE='utf8mb4_bin'
ENGINE=InnoDB;

运行结束后,数据库中会插入csv中的三行数据

Ⅱ phpMyAdmin 只支持导入最大50M的数据 可是我要导的数据库包超过50M怎么办

第一步:修改php.ini配置文件中文件上传大小配置
upload_max_filesize和post_max_size两个选项值 改的大一点比如说128M
第二步:修改php执行时间及内存限制实现phpmyadmin上传大文件功能
如果想要phpmyadmin上传大文件,还需修改php.ini配置文件中的max_execution_time(php页面执行最大时间)、
max_input_time(php页面接受数据最大时间)、memory_limit(php页面占用的最大内存)三个配置选项,这是因为
phpmyadmin上传大文件时,php页面的执行时间、内存占用也势必变得更长更大,其需要php运行环境的配合,光修改上传文件大小限制是不够的。
第三步:修改phpmyadmin配置文件
1、修改phpmyadmin config配置文件中的$cfg[‘ExecTimeLimit’]配置选项,默认值是300,需要修改为0,即没有时间限制。
2、修改phpmyadmin安装根目录下的import页面中的$memory_limit

说明:首选读取php.ini配置文件中的内存配置选项memory_limit,如果为空则默认内存大小限制为2M,如果没有限制则内存大小限制为10M,你可以结合你php.ini配置文件中的相关信息修改这段代码
至此,经过修改php.ini配置文件中的文件上传配置选项以及phpmyadmin配置文件后,即可解决phpmyadmin上传文件大小限制问题,从而实现phpmyadmin上传大文件功能。

Ⅲ 导入数据库文件太大怎么办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把图片上传到数据库并显示

blob类型
<?php
/*******************************************************
** 文件名:upload_file.php
** Copyright @ 2009
** 创建人:tabor
** 日期:2009年7月24日 8:00
** 修改人:
** 日期:
** 描述:文件上传操作以及对图片文件的处理
** 版本
********************************************************/
class upload_file {
//保存的文件名
public $file_name;
//系统中上传文件的临时存放路径
public $file_tmp_name;
//文件大小
public $file_size;
//完整的文件类型
public $full_file_type;
//文件类型
public $file_type;
//文件是否覆盖
public $override = 1;
//文件的保存路径
public $file_save_path = '';
//上传文件大小的最大值 单位是字节 2M
public public $file_max_size = 210000000;
//public public $file_max_size = 102400;

//构造函数
function __construct($file_name = '', $file_tmp_name = '', $full_file_type = '', $file_size = '', $file_save_path = '') {
$this->file_name = $file_name;
$this->file_tmp_name = $file_tmp_name;
$this->full_file_type = $full_file_type;
$this->file_size = $file_size;
$this->file_save_path = $file_save_path;
}
//取得文件的后缀名,即文件类型
function get_file_type() {
$type_array = explode('.', $this->file_name);
return $type_array[count($type_array)-1];
}
//判断文件的大小
function check_size() {
if($this->file_size > $this->file_max_size) {
return false;
}
return true;
}
//取得文件的大小
function get_size() {
return intval($this->file_size/1024);
}
//上传图片 格式 jpg,png,gif,pjpeg
function check_upload_pic() {
$type = $this->get_file_type();
$type_array = array('jpg', 'png', 'gif', 'bmp');
foreach($type_array as $value) {
if($value = $type) {
return true;
}
return false;
}
}
//上传文件 格式 zip rar
function check_upload_file() {
$type = $this->get_file_type();
$type_array = array('jpg','gif','bmp','png');
foreach($type_array as $value) {
if($value == $type) {
return true;
}
return false;
}

}
//判断文件是否存在
function check_exist() {
$file = $this->file_save_path.$this->file_name;
return file_exists($file);
}
//上传文件
function move_upfile() {
if(!$this->check_upload_pic()) {
echo "ok1";
return false;
}
else {
if(!$this->check_size()) {
echo "ok2";
return false;
}
else {
// if($this->check_exist()) {
// echo "该文件已存在";
// return false;
// }
// else {
$path = $this->file_save_path.$this->file_name;
if(move_uploaded_file($this->file_tmp_name, $path)) {
return true;
}
else {
return false;
}

// }
}
}
}
//将上传的图片打水印
/**
* $water_pic_name 将要被打水印的目标图片
* $water_word 水印文字
* $path 将来生成水印图片的存放路径
*/
function create_water_pic($water_word) {
$type = $this->get_file_type();
$filename = $this->file_save_path.$this->file_name;
switch($type) {
case 'jpg':
header("content-type:image/jpeg"); //定义输出图像的类型
$im = imagecreatefromjpeg($filename); //载入图片
break;
case 'png':
header("content-type:image/png");
$im = imagecreatefrompng($filename);
break;
case 'gif':
header("content-type:image/gif");
$im = imagecreatefromgif($filename);
break;
case 'bmp':
header("content-type:image/xbm"); //上传bmp格式存在问题
$im = imagecreatefromxbm($filename); //无法打水印
break;
default: {
echo "文件格式不符";
}
}
$textcolor = imagecolorallocate($im, 56, 73,136); //设定字体的颜色
$font = "simhei.ttf"; //定义字体
$word = $water_word; //水印字符
$x = imagesx($im); //获取图片的宽度
$y = imagesy($im); //获取文件的高度
$position_x = $x-80;
$position_y = $y-10;
$str = iconv('gbk', 'utf-8', $word); //将中文文字显示出来的编码过程
imagettftext($im, 20, 0, $position_x, $position_y, $textcolor, $font, $str);
//imagejpeg($im); //显示图片
$new = $this->file_save_path.'water'.$this->file_name; //生成新的文件名
switch($type) {
case 'jpg':
imagejpeg($im, $new); //生成jpg图像
break;
case 'png':
imagepng($im, $new); //生成png图像
break;
case 'gif':
imagegif($im, $new); //生成gif图像
break;
case 'bmp':
imagexbm($im, $new); //生成bmp图像 该格式的文件处理有问题
break;
default: {
echo "文件格式不符";
}
}
imagedestroy($im); //结束图形,释放内存空间*/
}
//生成缩略图
/**
* $pic 图片名 包括其扩展名,但不包括路径
* $width 将来生成缩略图的宽度
* $height 将来生成缩略图的高度
* $path 生成缩略图的存放路径
*/
function create_thumbnail($width, $height) {
$type = $this->get_file_type();
$filename = $this->file_save_path.$this->file_name;
$img = getimagesize($filename);
//print_r($img);
//die();
switch($img[2]) {
case 1:
header("content-type:image/gif"); //定义输出图像的类型
$im = imagecreatefromgif($filename); //载入图片
break;
case 2:
header("content-type:image/jpeg");
$im = imagecreatefromjpeg($filename);
break;
case 3:
header("content-type:image/png");
$im = imagecreatefrompng($filename);
break;
case 6:
header("content-type:image/xbm"); //bmp格式存在问题
$im = imagecreatefromxbm($filename); //无法打水印
break;
default: {
echo "文件格式不符";
}
}
$thumb = imagecreatetruecolor($width, $height); //创建一个新的空白的面板
$color = imagecolorallocate($im, 200, 255, 100); //调色板
/*bool imageresized ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h )
imageresized() 将一幅图像中的一块正方形区域拷贝到另一个图像中。dst_image 和 src_image 分别是目标图像和源图像的标识符。
*/
imageresized($thumb, $im, 0, 0, 0, 0, $width, $height, $img[0], $img[1]);
//imagejpeg($thumb);
$thumb_path = $this->file_save_path."thumbnail/".$this->file_name;
switch($img[2]) {
case 1:
imagejpeg($thumb, $thumb_path);
break;
case 2:
imagegif($thumb, $thumb_path);
break;
case 3:
imagepng($thumb, $thumb_path);
break;
case 6:
imagexbm($thumb, $thumb_path);
break;
default: {
echo "文件格式不符";
}
}
}
}
?>

前几天做的一个类,可以正常的使用,但还存在问题,仅供参考!忘对您有所帮助

Ⅳ 如何用phpmyadmin导入大容量.sql文件

phpmyadmin导入大容量.sql文件步骤:

1,选中,并点击需要需要导入到的数据库:版


出现:导入成功,执行了 xxx 个查询。这句话,说明数据库导入已经成功了。

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

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

Ⅶ thinkphp关于上传图片到数据库里面大小的问题

上传图片的时候,进行图片缩放:

http://document.thinkphp.cn/manual_3_2.html#image
里面写的很详细,很全

Ⅷ PHP实现上传图片到数据库并显示输出的方法

本文实例讲述了PHP实现上传图片到数据库并显示输出的方法。分享给大家供大家参考,具体如下:
1.
创建数据表
CREATE
TABLE
ccs_image
(
id
int(4)
unsigned
NOT
NULL
auto_increment,
description
varchar(250)
default
NULL,
bin_data
longblob,
filename
varchar(50)
default
NULL,
filesize
varchar(50)
default
NULL,
filetype
varchar(50)
default
NULL,
PRIMARY
KEY
(id)
)engine=myisam
DEFAULT
charset=utf8
2.
用于上传图片到服务器的页面
upimage.html
<!doctype
html>
<html
lang="en">
<head>
<meta
charset="UTF-8">
<meta
name="viewport"
content="width=device-width,
user-scalable=no,
initial-scale=1.0,
maximum-scale=1.0,
minimum-scale=1.0">
<meta
http-equiv="X-UA-Compatible"
content="ie=edge">
<style
type="text/css">
*{margin:
1%}
</style>
<title>Document</title>
</head>
<body>
<form
method="post"
action="upimage.php"
enctype="multipart/form-data">
描述:
<input
type="text"
name="form_description"
size="40">
<input
type="hidden"
name="MAX_FILE_SIZE"
value="1000000">
<br>
上传文件到数据库:
<input
type="file"
name="form_data"
size="40"><br>
<input
type="submit"
name="submit"
value="submit">
</form>
</body>
</html>
3.
处理图片上传的php
upimage.php
<?php
if
(isset($_POST['submit']))
{
$form_description
=
$_POST['form_description'];
$form_data_name
=
$_FILES['form_data']['name'];
$form_data_size
=
$_FILES['form_data']['size'];
$form_data_type
=
$_FILES['form_data']['type'];
$form_data
=
$_FILES['form_data']['tmp_name'];
$dsn
=
'mysql:dbname=test;host=localhost';
$pdo
=
new
PDO($dsn,
'root',
'root');
$data
=
addslashes(fread(fopen($form_data,
"r"),
filesize($form_data)));
//echo
"mysqlPicture=".$data;
$result
=
$pdo->query("INSERT
INTO
ccs_image
(description,bin_data,filename,filesize,filetype)
VALUES
('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");
if
($result)
{
echo
"图片已存储到数据库";
}
else
{
echo
"请求失败,请重试";
注:图片是以二进制blob形式存进数据库的,像这样
4.
显示图片的php
getimage.php
<?php
$id
=2;//
$_GET['id'];
为简洁,直接将id写上了,正常应该是通过用户填入的id获取的
$dsn='mysql:dbname=test;host=localhost';
$pdo=new
PDO($dsn,'root','root');
$query
=
"select
bin_data,filetype
from
ccs_image
where
id=2";
$result
=
$pdo->query($query);
$result=$result->fetchAll(2);
//
var_mp($result);
$data
=
$result[0]['bin_data'];
$type
=
$result[0]['filetype'];
Header(
"Content-type:
$type");
echo
$data;
到浏览器查看已经上传的图片,看是否可以显示
是没有问题的,证明图片已经以二进制的形式存储到数据库了
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:php实现上传图片保存到数据库的方法php上传图片存入数据库示例分享php上传图片到指定位置路径保存到数据库的具体实现php中如何将图片储存在数据库里php下将图片以二进制存入mysql数据库中并显示的实现代码php
从数据库提取二进制图片的处理代码php将图片保存入mysql数据库失败的解决方法php将图片文件转换成二进制输出的方法php图片的二进制转换实现方法

Ⅸ 怎样用php实现上传图片到数据库

<?php
@session_start();

require_once("./conf/config.php");

$file_type = $_FILES["pic"]["type"];
$file_name = $_FILES["pic"]["name"];

if ((($file_type == "image/gif")
|| ($file_type == "image/jpeg")
|| ($file_type == "image/pjpeg"))
&& ($_FILES["pic"]["size"] < 1000000))
{

if(!is_dir("upload/". date("md") . "/"))
{
mkdir("upload/". date("md") . "/");
}
if (file_exists("upload/" . date("md") . "/" . $file_name))
{
echo "图片 " . $file_name . " 文件名已存在,请更换文件名再进行上传. ";
}
else
{
$url = "upload/" . date("md") . "/" .$file_name;
move_uploaded_file($_FILES["pic"]["tmp_name"],
"upload/" . date("md") . "/" . $file_name);
}
}

else
{
echo "图片文件不可用";
}

$userId = $_SESSION["userId"];

if($url){
$sql = "insert into photos(url, userId) values('$url', '$userId')";

$query = mysql_query($sql);
if($query){
die('<script>alert("图片上传成功");window.location="/photolist.htm";</script>');
}
}
?>

阅读全文

与php上传大数据库相关的资料

热点内容
助听器插片式编程线如何连接 浏览:293
怎么删除系统休眠文件 浏览:914
搜索文件内容中包含的文字并替换 浏览:542
微信相册程序图标 浏览:714
win8怎么显示文件格式 浏览:547
文件服务器中毒 浏览:721
如何修改网站访问次数 浏览:518
mdfldf是什么文件 浏览:569
文件在桌面怎么删除干净 浏览:439
马兰士67cd机版本 浏览:542
javaweb爬虫程序 浏览:537
word中千位分隔符 浏览:392
迷你编程七天任务的地图怎么过 浏览:844
word2003格式不对 浏览:86
百度云怎么编辑文件在哪里 浏览:304
起名app数据哪里来的 浏览:888
微信怎么去泡妞 浏览:52
百度广告html代码 浏览:244
qq浏览器转换完成后的文件在哪里 浏览:623
jsp中的session 浏览:621

友情链接