PHP рдФрд░ MySQL рдХреЗ рд▓рд┐рдП CSV рдХреЛ рд╕рд░рд▓ рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд


рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдХреЗ рд▓рд┐рдП рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдкреНрд░рдмрдВрдзрди рдЖрдБрдХрдбрд╝реЛрдВ рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди, рдХрд╛рд░реНрдп рд╡рд┐рднрд┐рдиреНрди MySQL рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдмреАрдЪ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реБрдЖред рдЪреВрдВрдХрд┐ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдФрд░ рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ - рдЕрдиреБрдХреВрд▓рди рдЖрдПрдЧрд╛ - рдореИрдВрдиреЗ MySQL 5.0 рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рд▓реЗрдЦрдХ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рдбреЗрдЯрд╛ рд╡рд┐рдирд┐рдордп рдкреНрд░рд╛рд░реВрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЗ рдХрд╛рд░рдг CSV рдХреЛ рдареАрдХ рд╕реЗ рдЕрдкрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рджреЛ рдХрд╛рд░реНрдп рдХрд┐рдП рдЧрдП

рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ ( MySQL рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╡рд┐рд╡рд░рдг )
function export_csv( $table, //     $afields, //   -    $filename, //  CSV     // (   web-) $delim=',', //    CSV  $enclosed='"', //     $escaped='\\', //     $lineend='\\r\\n'){ //      CSV $q_export = "SELECT ".implode(',', $afields). " INTO OUTFILE '".$_SERVER['DOCUMENT_ROOT'].$filename."' ". "FIELDS TERMINATED BY '".$delim."' ENCLOSED BY '".$enclosed."' ". " ESCAPED BY '".$escaped."' ". "LINES TERMINATED BY '".$lineend."' ". "FROM ".$table ; //   ,      if(file_exists($_SERVER['DOCUMENT_ROOT'].$filename)) unlink($_SERVER['DOCUMENT_ROOT'].$filename); return mysql_query($q_export); } 

рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ


рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдЖрдпрд╛рдд рдХрд░реЗрдВ ( MySQL рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╡рд┐рд╡рд░рдг )
  function import_csv( $table, //     $afields, //   -    $filename, //  CSV ,    // (   web-) $delim=',', //    CSV  $enclosed='"', //     $escaped='\\', //     $lineend='\\r\\n', //      CSV $hasheader=FALSE){ //    CSV if($hasheader) $ignore = "IGNORE 1 LINES "; else $ignore = ""; $q_import = "LOAD DATA INFILE '". $_SERVER['DOCUMENT_ROOT'].$filename."' INTO TABLE ".$table." ". "FIELDS TERMINATED BY '".$delim."' ENCLOSED BY '".$enclosed."' ". " ESCAPED BY '".$escaped."' ". "LINES TERMINATED BY '".$lineend."' ". $ignore. "(".implode(',', $afields).")" ; return mysql_query($q_import); } 

рдЖрдЦрд┐рд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ?
  1. рд▓рдШреБ рдФрд░ рдмрд╣реБрдд рддреЗрдЬрд╝ рдХрд╛рд░реНрдп, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рд╡реЗ рдПрдХ рдПрдХрд▓ MySQL рдХреНрд╡реЗрд░реА рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
  2. рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд▓рдЪреАрд▓рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди - рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдХрдИ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдлрд╝реАрд▓реНрдбреНрд╕ рдХреА рд╕реВрдЪреА рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ
    • рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП : рдлрд╝реАрд▓реНрдб рд╕рд░рдгреА рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХреА рд╕реВрдЪреА рдмрджрд▓рдХрд░
       $afields 
      рдпрд╛ рддрд╛рд▓рд┐рдХрд╛ рдирд╛рдо рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдЙрдк-рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдлрд┐рд░ рдЗрд╕ рдЙрдк-рдХреНрд╖реЗрддреНрд░ рдХреЗ рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рд░рдгреА рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛) - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
       $atable 
      рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛
       (select field1, field1 from table2) t 
    • рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП : рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
       array("column1", "@dummy", "column2", "@dummy", "column3") 
      CSV рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджреВрд╕рд░рд╛ рдФрд░ рдЪреМрдерд╛ рдХреНрд╖реЗрддреНрд░ рдЫреЛрдбрд╝реЗрдВрдЧреЗред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╡рд┐рдХрд╛рд╕ рдХреА рд╕рд╛рджрдЧреА рдФрд░ рдЧрддрд┐ рдХрд╛ рдореБрджреНрджрд╛ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдФрд░ рдЬрдм рдЧрддрд┐ рдФрд░ рджрдХреНрд╖рддрд╛ рдХрд╛ рдкреНрд░рд╢реНрди рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред

рдкреБрдирд╢реНрдЪред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрди MySQL рдХрдорд╛рдВрдбреЛрдВ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдореГрджреНрдз рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдХреЛрдб рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдХреНрд╖реЗрддреНрд░ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдФрд░ рдХрд▓реНрдкрдирд╛ рд╕реЗ рд╕реАрдорд┐рдд рд╣реИред

Source: https://habr.com/ru/post/In115433/


All Articles