php read text file, input database mysql

malam ini gw iseng ada kerjaan masukin data ke dalam database, tapi masalahnya database tersebut ada didalam file text dan bentuk nya seperti ini

dan cukup keriting tangan gw kalo harus masukin semua ini ke database secara manual, akhirnya kepikiran buat script php aja, dan gw cuma klik sekali


<?php
require_once("class/MYSQL.php");

class BacaFILE {
 var $data;
 var $limiter;
 private $path;
 
 function setPath($path){
 file_exists($path)? $this->path = $path : die("masukan nilai path !!!");
 }
 
 function baca(){
 $c = file($this->path) or die ('gagal membaca file: '.$this->path);
 $this->data = $c;
 }
}


$c = new BacaFILE();
$c->setPath("file/ip.txt");
$c->baca();

$k = new MYSQL("localhost", "root", "", "craw_ip");
$k->connect();

$q = "INSERT INTO ip (ip) VALUES ";
$max = count($c->data);
$i = 0;
$t = '';
foreach($c->data as $d){
 $t .= "('".trim($d)."')";
 if(++$i < $max)
 $t .= ", ";
 else 
 $t .= ";";
}

$k->execute($q.$t);
echo $k->result ? "berhasil":"gagal";
$k->close_connection();
echo " input data sebanyak ".$max." query";

?>

h


sementara untuk database nya

Published by

G3n1k

just to remember what i had known :)

10 thoughts on “php read text file, input database mysql”

  1. kalau isi textnya kyk gini gmn gan input ke tablenya?
    isi text file:
    nama : joko
    alamat : jl. kenangan
    jk : laki-laki

    nama : tini
    alamat : jl. pahlawan
    jk : perempuan

    nama : joko
    alamat : jl. kenangan
    jk : laki-laki

  2. 1. baca dulu file text nya
    2. looping baca data line 1, line 5, line (n -1) *4 + 1
    3. replace string “nama:” dengan ‘[blank]’, ambil sisa_string_nama,
    4. replace string “alamat:” dengan ‘[blank]’, ambil sisa_string_alamat,
    5. replace string “jk:” dengan ‘[blank]’, ambil sisa_string_jk,
    6. insert query nilai sisa_string_nama, sisa_string_alamat, sisa_string_jk
    7. looping lagi ke langkah no 2, sampai habis barisan datanya

  3. Mohon bantuannya kalau file txt sebagai berikut bagaimana?
    09215410329 Muhammad Aripin Teknik Informatika
    09215410328 Okto Alhamda Putra Teknik Informatika
    09215410327 Berlina Wulandari Teknik Informatika

    data tersebut akan di masukan ke filed nim varchar(13), nama varchar(30, program varchar(30)

    1. kalo seperti itu susah, ubah datanya jadi seperti ini dulu

      09215410329, Muhammad Aripin, Teknik Informatika
      09215410328, Okto Alhamda Putra, Teknik Informatika
      09215410327, Berlina Wulandari, Teknik Informatika

      lalu baca tiap line
      foreach($c->data as $d){

      explode()

      }

  4. ass mas mau tanya, kalau datanya seperti ini “20.11 Situasi lalu lintas dari Tol Slipi menuju Tomang terpantau ramai lancar Apr 06, 2014″ , bagaimana ya mas? “20.11” akan masuk atribut “waktu”, “tol slipi menuju tomang” masuk atribut “tempat” ,”ramai lancar ” masuk atribut “statuslalulintas”, kata sisanya tdk terpakai

    1. kalo attr waktu bisa dengan
      $str = “20.11 Situasi lalu lintas dari Tol Slipi menuju Tomang terpantau ramai lancar Apr 06, 2014”;
      $ex = explode($ex, ‘ ‘);
      $time = $str[0];
      $ex = explode($str, ‘ dari ‘);
      $ex2 = explode($ex[1], ‘ terpantau ‘);
      $tempat = $ex2[0];
      $status = substr($ex2[1], -12);

      dengan catatan baris datanya punya pola yg sama

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s