pedia-learning

ورود

گذرواژه‌تان را فراموش کرده‌اید؟

ثبت نام

ثبت نام
انجمن عمومی گسترش فناوری آگو

اگر اولین بار از انجمن بازدید می کنید برای دسترسی کامل به انجمن عضو شوید بعد عضویت قادر به ارسال مطلب و شرکت در بحث خواهید داشت

ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
اجرای فایل sql روی سرور
04-23-2014, 03:41 PM
ارسال: #1
اجرای فایل sql روی سرور
شاید برای شما اتفاق افتاده باشه که از دیتابیس تون یک بک آپ میگیرید و میخواید روی سرور import کنید. اما بعضی وقتا به دلیل حجم بالا ، تنظیمات PHP اجازه نمیده فایلهای بزرگ رو آپلود کنید.برای حل این مشکل میتونید فایل رو روی سرور آپلود کنید ( مثلا با FTP ) سپس با تابع زیر این فایل رو خط به خط اجرا کنید.

این رو هم اضافه کنم که هنگامی که دیتابیس رو export میکنید یک فایل با پسوند sql بهتون میده که اگر این فایل رو با نرم افزارهای ویرایش متن باز کنید میبینید که داخلش دستورات sql نوشته شده.

خب بریم سراغ تابع :
کد php:
<?php

function SplitSQL($file$delimiter ';')
{
    
$pdo =new PDO ("mysql:host=localhost;dbname=mydb",'root','');
    if (
is_file($file) === true)
    {
        
$file fopen($file'r');

        if (
is_resource($file) === true)
        {
            
$query = array();

            while (
feof($file) === false)
            {
                
$query[] = fgets($file);

                if (
preg_match('~' preg_quote($delimiter'~') . '\s*$~iS'end($query)) === 1)
                {
                    
$query trim(implode(''$query));

                    
$pdo->query($query);

                    while (
ob_get_level() > 0)
                    {
                        
ob_end_flush();
                    }
                    
flush();
                }

                if (
is_string($query) === true)
                {
                    
$query = array();
                }
            }

            return 
fclose($file);
        }
    }

    return 
false;


خب برای استفاده از این تابع باید آدرس فایل .sql رو که روی سرور آپلود کردید بهش پاس بدید. پارامتر دوم هم برای اینه که مشخص بشه دستورات sql با چه کاراکتری تموم میشن که در اینجا کاراکتر سمی کالن ( ; ) میباشد
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان


Persian Translation by MyBBIran.com - Ver: 4.1
Powered by MyBB, © 2002-2024 MyBB Group.
Theme designed by Marvel (Sidebar created by Yaldaram - Yaldaram.com)
Theme Translation by Mt Edition