Random ramblings teknologi
19 Feb
Ini adalah script sederhana yang akan memungkinkan Anda untuk mengimpor data csv ke database Anda. Ini datang berguna karena Anda hanya dapat mengedit bidang yang sesuai, meng-upload bersama dengan file csv dan menyebutnya dari web dan akan melakukan sisanya.
Hal ini memungkinkan Anda untuk menentukan pembatas dalam file csv, apakah itu sebuah koma, sebuah tab dll Hal ini juga memungkinkan Anda untuk memilih garis pemisah, memungkinkan Anda untuk menyimpan output ke file (dikenal sebagai tempat pembuangan sql data).
Hal ini juga memungkinkan Anda untuk memasukkan bidang kosong pada awal setiap baris, yang biasanya kenaikan bilangan bulat otomatis primary key.
Script ini berguna terutama jika Anda tidak memiliki phpmyadmin, atau Anda tidak ingin kerumitan logging dan lebih suka solusi beberapa klik, atau Anda adalah seorang pria command prompt.
Pastikan tabel sudah dibuat sebelum mencoba untuk dump data.
Mohon posting komentar Anda jika Anda punya laporan bug.
135 Responses for "script PHP untuk mengimpor data csv ke mysql"
Sangat berguna, terima kasih.
Saya biasanya menggunakan phpmyadmin, tapi benar, dalam satu kasus tidak memiliki itu diinstal, dan tidak memiliki akses shell (seperti kebanyakan penyedia shared hosting), hal ini dapat datang sangat berguna.
Thanks a lot ini banyak disimpan waktu! Bagus script.
[...] Nah, hari ini saya ingin hadir Anda dengan metode lain mendapatkan file csv Anda ke sql, dengan menggunakan kode PHP. Untuk ini bagian dari kode, pergi ke kredit penuh legenda. Anda perlu memastikan bahwa database sudah dibuat sebelum Anda dump tanggal. /************************************************* *******************************************/ / * Kode di http: / / legend.ws / blog / tips-trik / csv-php-mysql-impor / / * Edit entri di bawah ini untuk mencerminkan nilai-nilai yang sesuai /****************** ************************************************** ************************/ $ databasehost = "localhost"; $ databasename = "test"; $ = "sampel" databasetable; databaseusername $ = " tes "; $ databasepassword =" "; $ fieldseparator =", "; $ lineseparator =" n "; $ csvfile =" bbqrest.csv "; /***************** ************************************************** *************************/ / * Apakah Anda ingin menambahkan bidang ampty pada awal catatan ini? / * Ini berguna jika Anda memiliki tabel dengan field pertama menjadi integer auto_increment / * dan file csv tidak memiliki seperti lapangan kosong sebelum catatan. / * Set 1 untuk ya dan 0 untuk tidak. PERHATIAN: jangan set ke 1 jika Anda tidak yakin. / * Ini dapat dump data dalam bidang salah jika bidang ini tambahan tidak ada dalam tabel /***************************** ************************************************** *************/ $ addauto = 0; /****************************** ************************************************** ************/ / * Apakah Anda ingin menyimpan query mysql di file? Jika ya set $ simpan ke 1. / * Izin pada file tersebut harus di set ke 777. Entah meng-upload contoh file melalui ftp dan / * mengubah hak akses, atau mengeksekusi di prompt: sentuhan output.sql & & chmod 777 output.sql /******************* ************************************************** ***********************/ $ save = 1; $ outputfile = "output.sql"; /*********** ************************************************** *******************************/ [...]
Hi ada, modifikasi kecil untuk nilai otomatis incrementing dalam kolom 1 (id lapangan)
melihat variabel $ count.
ola, Enrico.
/ / $ Con = mysql_connect @ ($ databasehost, $ databaseusername, $ databasepassword) atau mati (mysql_error ());
/ / @ Mysql_select_db ($ databasename) atau mati (mysql_error ());
$ Baris = 0;
$ Query = "";
$ Linearray = array ();
$ Count = 0;
foreach (split ($ lineseparator, $ csvcontent) sebagai $ baris) {
$ Count = $ count + 1;
$ Baris + +;
$ Baris = trim ($ baris, "\ t");
$ Baris = str_replace ("'"," \ '", $ line);
$ Linearray = explode ($ fieldseparator, $ line);
$ Linemysql = meledak ("','",$ linearray);
$ Query = "insert ke tabel db` `Anda VALUES ('$ count', '$ linemysql');";
$ Query .= $ query. "\ N";
@ Mysql_query ($ query);
}
/ / @ Mysql_close ($ con);
[...] Pada catatan yang sama, di sini adalah script pra-dibuat bahwa pengarangnya mengatakan akan mengimpor file CSV ke MySQL: PHP script untuk mengimpor data csv ke mysql. [...]
[...] /******************************************** ************************************************/ / * Kode di https://legend.ws/blog/tips-tricks/csv-php-mysql-import/ / * Edit entri di bawah ini untuk mencerminkan nilai-nilai yang sesuai /************* ************************************************** *****************************/ $ databasehost = "localhost"; $ databasename = "XXXXX"; $ databasetable = "xxxx" ; $ databaseusername = "xxxx"; $ databasepassword = "xxxx"; $ fieldseparator = ","; $ lineseparator = "n"; $ csvfile = "xport/2008_BF.csv"; /********* ************************************************** *********************************/ / * Apakah Anda ingin menambahkan bidang ampty pada awal catatan ini ? / * Ini berguna jika Anda memiliki tabel dengan field pertama menjadi integer auto_increment / * dan file csv tidak memiliki seperti lapangan kosong sebelum catatan. / * Set 1 untuk ya dan 0 untuk tidak. PERHATIAN: jangan set ke 1 jika Anda tidak yakin. / * Ini dapat dump data dalam bidang salah jika bidang ini tambahan tidak ada dalam tabel /***************************** ************************************************** *************/ $ addauto = 0; /****************************** ************************************************** ************/ / * Apakah Anda ingin menyimpan query mysql di file? Jika ya set $ simpan ke 1. / * Izin pada file tersebut harus di set ke 777. Entah meng-upload contoh file melalui ftp dan / * mengubah hak akses, atau mengeksekusi di prompt: sentuhan output.sql & & chmod 777 output.sql /******************* ************************************************** ***********************/ $ save = 1; $ outputfile = "output.sql"; /*********** ************************************************** *******************************/ [...]
Wow keren ... punya ide setelah membaca coding Anda ... terima kasih banyak
Total newbie - merobek rambut saya mencoba untuk mengimpor Excel csv ke phpMyAdmin (pada Mac). Ingin tahu persis di mana dan apa yang saya lakukan dengan naskah php ini ...?
Steve,
Anda akan menempatkan script ini ke dalam folder web diakses, setelah mengubah variabel yang perlu diubah. Baca komentar dalam script untuk mencari tahu apa yang perlu Anda tentukan. Lalu, panggilan script di web browser, seperti:
https://www.example.com/path-to-script/simplescvimport.php
itu akan menjadi ide yang baik untuk menambahkan header dalam csv mencegah dari yang diajukan ke dalam database. Atau untuk membuat script yang menarik keluar baris pertama dan menciptakan db menggunakan nilai-nilai ini sebagai nama kolom.
Saya mendapatkan ini file tidak ditemukan kesalahan. Pastikan Anda menetapkan jalur yang benar.
Bisakah cepat membalas satu saya memiliki bbqrest.csv file csv di jalan yang benar (root) ..
Rengaraj,
file csv harus di tempat yang sama dengan file PHP.
Juga, Anda tidak benar-benar harus menggunakan nama csv file yang sama.
bbqrest.csv adalah contoh, ganti nama file ini dengan Anda sendiri.
Tidak memperhitungkan bidang-bidang seperti baris ini:
Fname, lname, "Perusahaan, Inc", Kota, State, Zip
Perusahaan dan Inc mendapatkan dibagi menjadi dua kolom yang berbeda.
Nah, inilah fix untuk komentar saya sebelumnya:
menyisipkan di antara:
$ Linearray = explode ($ fieldseparator, $ line);
... Masukkan potongan kode di bawah ini ....
$ Linemysql = meledak ("','",$ linearray);
Menemukan dan menyimpan semua "Stuff, Stuff Lebih" bersama-sama sebelum meledak itu.
$ A = "";
$ B = "";
$ Qoutecount = 0;
for ($ x = 0; $ x -1) {
$ Qoutecount + +;
if ($ qoutecount == 1)
$ A = $ x; / / toko contoh pertama
elseif ($ qoutecount == 2) {
$ Quotecount = 0;
$ B = $ x; / / menyimpan contoh kedua
/ / BAHWA TIDAK TI ... mengkompilasi semua elemen dari $ untuk $ b menjadi $ dan mengabaikan unsur-unsur apa-apa setelah $ a b untuk $ dalam array baru;
$ Newa = ""; / / menginisialisasi string baru.
for ($ z = $ a, $ z $ a & & $ y
)
; / / Melewatkan karena jatuh dalam elemen array yang buruk
lain
$ Newarray [$ y] = str_replace ('"',",$ linearray [$ y]);
$ Linearray = array_values ($ newarray); / / reset tombol ke array baru
$ X + +;
}
}
}
saya mendapatkan begitu banyak pertama itu dipotong dan sisanya hanya kode di browser saya. Aku tahu php adalah bekerja karena sisa situs bekerja.
Aku upgrade ke PHP5 itu penting?
brad, jika Anda telah download itu lebih awal dari minggu lalu, menggantikan '<?' di atas dengan '<php? "(hapus spasi)
Robbie, terima kasih untuk Anda Selain itu, cukup welcome. Sayangnya, tidak bekerja langsung ketika saya salin. Saya pikir ada sesuatu yang hilang karena kode ini tersebar di dua posting.
Bisakah Anda memeriksa kode seperti ditampilkan di sini? Apakah sesuatu yang hilang?
Hai, terima kasih skrip bagus. Saat menjalankannya saya mendapatkan:
Fatal error: Maksimum waktu eksekusi 30 detik melebihi di on line 63
Apakah ada yang bisa saya lakukan untuk mendapatkan sekitar ini?
Berapa besar file yang Anda mencoba untuk mengimpor?
dalam hal apapun, coba tambahkan baris berikut setelah tag pembuka awal:
set_time_limit (300);
Ini akan memberikan script sampai 5 menit (300 detik) dari waktu eksekusi.
Mengganti 300 dengan 0 akan memungkinkan untuk mengambil waktu sebanyak yang dibutuhkan.
Hi semua,
Aku membuat perubahan kecil ke kode Anda, sehingga bekerja sebagai importir CSV, seperti seharusnya.
CSV-s baris pertama harus memegang nama kolom yang ingin Anda impor, sehingga mengubah loop foreach:
foreach (split ($ lineseparator, $ csvcontent) sebagai $ baris) {
$ Baris + +;
$ Baris = trim ($ baris, "\ t");
$ Baris = str_replace ("\ r ","",$ baris);
/ * Mendapatkan nama kolom dari baris pertama dari CSV * /
if ($ baris == 1) {
$ Kolom = explode ($ fieldseparator, $ line);
$ Columnsql = meledak (",",$ kolom);
echo $ columnsql;
melanjutkan;
}
/************************************
Baris ini lolos karakter khusus. menghapusnya jika entri sudah lolos dalam file csv
************************************/
$ Baris = str_replace ("'"," \ '", $ line);
/*************************************/
$ Linearray = explode ($ fieldseparator, $ line);
$ Linemysql = meledak ("','",$ linearray);
if ($ addauto)
$ Query = "masukkan ke $ databasetable ($ columnsql) nilai ('$ linemysql');";
lain
$ Query = "masukkan ke $ databasetable ($ columnsql) nilai ('$ linemysql');";
$ Query .= $ query. "\ N";
@ Mysql_query ($ query);
}
Bagus karya utama
itu tidak memasukkan ke dalam tabel database di mana saya ingin dimasukkan ..: (
Aku hanya bisa mendapatkan baris pertama dari file CSV saya untuk diimpor ke database.
Berikut salinan dari file log:
masukkan ke dalam nilai produksi (", '2008-10-21 ', '50', '50 ', '50', 'ini adalah garis catatan pertama', 'ini merupakan catatan garis 2', 'ini adalah catatan baris 3 ', '0000-00-00', '0000-00-00 ', '0000-00-00', '456 Morningside Ave ',' ste 512 ','. Brooklyn ',' NY ', '10023', 'Joe', 'Pelanggan 1');
masukkan ke dalam nilai produksi (", '2008-10-09 ', '50', '50 ', '50', 'ini adalah baris pertama catatan',",",' 2008-10-09', '2008 -10-14 ', '0000-00-00', ',' '456 Morningside Ave Ste 512 ',' Brooklyn ',' NY ', '10023', 'Joe', 'Pelanggan 1').;
masukkan ke dalam nilai produksi (", '2008-10-14 ', '25', '25 ', '25', 'CATATAN 1',",",' 2008-10-14', '2008-10-17 ',' NULL ', '555 suatu tempat', 'suite 123', 'new york', 'baru y', '10001 ',' Joe ',' Nama 1 ');
masukkan ke dalam produksi
masukkan ke dalam produksi
masukkan ke dalam nilai produksi (", '2008-10-17 ', '50', '50 ', '50', 'ini adalah baris pertama catatan',",",' 2008/10/03', '0000 -00-00 ', '0000-00-00', ',' '456 Morningside Ave Ste 512 ',' Brooklyn ',' NY ', '10023', 'Joe', 'Pelanggan 1').;
masukkan ke dalam nilai produksi (", '2008-10-18 ', '25', '25 ', '25', 'CATATAN 1',",",' 2008/10/04', '0000-00-00 ', '0000-00-00', '555 suatu tempat ',' suite 123 ',' ',' new york baru y ', '10001', 'Joe', 'Nama 1');
masukkan ke dalam produksi
masukkan ke dalam nilai produksi (", '2008-10-20 ', '34', '34 ', '34', 'catatan baru',",",' 2008/10/06', '0000-00-00 ', '0000-00-00',",",",",",' Steve',");
masukkan ke dalam nilai produksi (", '2008-10-21 ', '12', '12 ', '12', 'catatan bahkan lebih baru',",",' 2008/10/07', '0000-00- 00 ', '0000-00-00',",",",",",' tandai',");
masukkan ke dalam produksi
masukkan ke dalam produksi
masukkan ke dalam produksi
masukkan ke dalam produksi
masukkan ke dalam nilai produksi (", '2008-10-16 ', '0', '0 ', '0', 'kemudian masih',",",' 2008/10/12', '0000-00-00 ', '0000-00-00',",",",",",",");
masukkan ke dalam nilai produksi (", '2008-10-17 ', '0', '0 ', '0', 'kemudian masih',",",' 2008/10/13', '0000-00-00 ', '0000-00-00',",",",",",");
masukkan ke dalam nilai produksi (", '2008-10-18 ', '0', '0 ', '0', 'kemudian masih',",",' 2008-10-14', '0000-00-00 ', '0000-00-00',",",",",",");
masukkan ke dalam produksi
masukkan ke dalam nilai produksi (", '2008-10-01 ', '34', '34 ', '34', '',",",' sangat terbaru 2008-10-02', '2008-10-04 ', '2008-10-04',",",",",",' bruce');
masukkan ke dalam nilai produksi (",");
Ia mengatakan itu memasukkan 20 catatan, tetapi hanya yang pertama membuatnya ke dalam database. Setiap pikiran?
Hi semua,
Terima kasih untuk script. Saya seorang noob di PHP dan MySQL sehingga aku benar-benar menghargai sesuatu seperti ini. Aku punya sejauh yang menghasilkan "File tidak dapat ditulis, periksa hak akses" pesan kesalahan di browser saya. Dapatkah seseorang silahkan menjelaskan komentar tentang pengaturan izin ke 777? Saya menggunakan file Excel yang dihasilkan. Csv? Thanks in advance.
Hi Markus,
pertama, itu mengacu pada file yang dipilih dalam variabel $ outputfile.
kedua, file ini harus dapat ditulis. Saya berasumsi Anda menggunakan Linux, bukan jendela, karena hal ini umumnya tidak masalah dengan jendela.
Pada linux, cukup SSH ke mesin, mengubah ke direktori dimana file output, dan ketik: chmod 777 nama file
'nama file' dimana adalah nama file yang sebenarnya.
Jika Anda tidak punya SSH, banyak klien FTP perubahan dukungan izin. Untuk tujuan ini, FTP ke folder yang berisi file output, kemudian pilih file ini, dan cari dari perangkat lunak ini ftp pilihan untuk mengubah izin. Set ke 777, atau 'membaca, menulis, mengeksekusi' untuk semua orang.
Hei Semua orang,
Cinta script ini, dan itu bekerja dengan baik, sekarang tiba-tiba script wont masukkan catatan. Script tersebut selesai, dan bahkan output hitungan catatan, tetapi tidak menyentuh database di semua ...
Setiap ide?
Terima kasih
C
Sayang Chris,
silakan ganti:
@ Mysql_query ($ query);
dengan:
@ Mysql_query ($ query) or die (mysql_error ());
dan biarkan aku tahu apa kesalahan itu memberi Anda
Sehubungan dengan masalah tanda kutip, Anda hanya dapat menggunakan ini:
$ Linearray = preg_split ("/,(?=(?:[^ \ "] * \" [^ \ "] * \ ")*(?![^ \"] * \ "))/", $ garis );
Ceria,
Gaz.
ia mengatakan untuk memuat ini ke dalam data base
data beban 'PATH' lokal INFILE ke bidang TABLE tabel diakhiri oleh ',' baris diakhiri oleh '\ n';
saya mengubah jalur dan masuk ke tabel tetapi memberikan saya sebuah kesalahan bahwa sintaks kode yang salah 1064
siapa pun dapat memberikan saya beberapa nasihat tentang apa yang harus dilakukan
terima kasih
stan
Hi Stanley, masalahnya adalah dengan tanda kutip tunggal. Perangkat lunak blog di sini penulisan ulang mereka. Cukup mengganti 'dan' dengan '
PS: perintah di atas adalah dengan langsung memuat file csv ke dalam database dari prompt mysql. Hal ini bagus tapi tidak terkait dengan naskah di atas
Hi everyone!
Tampaknya memiliki kerja skrip ... exept bahwa ia tidak menulis data ke mysql ...
Seperti dengan Chris: Script tersebut selesai, dan bahkan output hitungan catatan, tetapi tidak menyentuh database di semua ... tapi memberitahu saya: Ditemukan total 1 catatan dalam file ini csv.
Apa yang harus saya lakukan salah (im noob di php dan mysql)
Terima kasih
Claus
Hi Semua
Saya menggunakan drupal untuk membangun sebuah website baru, tantangan saya memiliki sekarang adalah bahwa saya perlu mengimpor data dari file CSV ke database mysql yang telah berbagi tabel, karena beberapa bidang di mana saya perlu mengimpor data csv berada di bagian yang berbeda dari database yang sama akan script ini bekerja untuk saya? Jika tidak bisa file ini csv yang akan diimpor dengan menggunakan metode lain?
Harap, terima kasih untuk bantuan.
Salam
Adrian
Terima kasih untuk script. Sangat dimengerti.
Bagaimana saya bisa memodifikasi script ini sehingga mengambil dan menyimpan file csv dari Internet ke MySQL?
@ Adrian
Halo Adrian.
Drupal, seperti yang Anda dicatat, memiliki struktur tabel yang kompleks. Tergantung pada apa jenis data yang Anda impor, itu sangat mungkin bahwa data ini perlu dipecah menjadi beberapa tabel, biasanya dengan kunci asing umum seperti id node.
Sayangnya, script di atas tidak akan membantu melakukan itu.
@ Okoth
Halo Okoth.
Kemungkinan besar, Anda dapat menyingkirkan baris 33-54 dan menggantinya dengan garis tunggal:
$ Csvcontent = @ file_get_contents ("https://...");
mengganti titik dengan url yang sesuai (url langsung ke file CSV)
@ Claus
Halo Claus.
Apakah CSV benar-benar berisi catatan tunggal?
Karena script mencapai tahap di mana output jumlah record, aku menganggap itu tidak gagal ketika terhubung ke database (baris 56-57) sehingga tidak masalah.
Ada kemungkinan bahwa permintaan untuk memasukkan data gagal.
Cobalah mengganti baris 88 dengan:
mysql_query ($ query) or die (mysql_error ());
dan memeriksa apa kesalahan yang Anda dapatkan.
Halo,
Saya benar-benar ingin menggunakan script ini tapi aku tidak yakin apa yang saya lakukan salah. Saya mendapatkan masalah yang sama yang disebutkan di atas dengan data tidak loading ke db. Ia menemukan nomor yang benar baris, tetapi menunjukkan apa-apa di db.
Saya mengubah baris 88 @ mysql_query ($ query) or die (mysql_error ());
dan mendapatkan pesan "menghitung Kolom tidak cocok menghitung nilai pada baris 1"
@ Andy Brotherton : Ini berarti bahwa query adalah mencoba untuk memasukkan catatan dengan jumlah kolom yang tidak cocok dengan tabel database.
1) Apakah Anda yakin bahwa file CSV memiliki jumlah yang sama persis kolom sebagai tabel dalam database?
2) Apakah pemisah field dalam file CSV benar-benar koma? atau itu tab misalnya atau lainnya? Jika tidak koma, mengubah nilai $ fieldseparator on line 12
3) Tabel harus sudah dibuat dalam database sebelum mencoba untuk memuat data ke dalamnya. Apakah Anda yakin Anda memilikinya?
bagaimana saya bisa kosong meja saya sudah diisi sebelum memasukkan file baru?
atau bisa saya memperbarui masukan yang sudah ada?
Truncate, UPDATE? bagaimana saya mendapatkan ini dalam query?
perintahnya adalah: tablename truncate.
Anda dapat menyisipkan berikut pada baris 58:
@ Mysql_query ("memotong $ databasetable");
tapi ini adalah non reversibel! jadi berhati-hatilah
Hai, ini memberitahu saya jumlah catatan tapi tidak memasukkan data ke dalam database
Harap Anda dapat membantu
Nathan
Saya perlu untuk men-download data secara otomatis dari server jauh. Its file CSV, dan saya perlu untuk unzip, dan menyimpan data dalam database mysql yang saya buat. Ada beberapa database. Bagian pertama bawah ini adalah salah satu database bahwa seseorang membantu saya dengan dan bekerja sangat baik. Saya menyiapkan tugas cron dan download secara otomatis sesuai jadwal. Namun saya memiliki database lebih dan cant mendapatkan orang lain untuk bekerja.
BAGIAN BAWAH INI KARYA DENDA!
--------------------------
# / Bin! / Bash
deleteparam = '-menghapus-setelah';
# Deleteparam = "
# Direktori = '-direktori-prefix = / $ HOME / myfolder / myfolder /'
direktori = "
# Userpwd = '-http-user = bla-http-password = bla'
toUpper () {
echo $ 1 | tr "[: rendah:]" "[: atas:]"
}
# If [-z "$ 1"], kemudian
# Echo penggunaan: tabel $ 0
# Exit
# Fi
ZIP = nama file data di server jauh
ZIP = `toUpper $ ZIP`
# File dalam zip memiliki satu kurang _
DATA Nama = tabel dalam database mysql saya
DATA = `toUpper $ DATA`
# Rm $ TABLE.csv.zip
# Rm $ DATA.csv
cd / $ HOME / myfolder / myfolder /
####### Mendapatkan perumahan
wget -O $ ZIP.csv.zip
tidur 10
####### Unzip
pwd
ls-la
unzip-o $ ZIP.csv.zip
tidur 10
####### Beban itu
wget-verbose $ deleteparam $ direktori $ userpwd https://mywebsite/myfolder/import.php?table = $ DATA
tidur 300
###### Menghapus file
rm $ ZIP.csv.zip
rm $ DATA.csv
tidur 10
_ ---------------------------
SEMUA INI ATAS KARYA WONDERFUL
INI ADALAH APA PERLU BANTUAN DENGAN Saya
--------------------------
1. Aku butuh script untuk menambah file di atas yang akan mendownload foto-foto. Jika Anda lihat di bawah saya perlu script yang secara otomatis mendapatkan tanggal dan waktu LANCAR bahwa naskah adalah berlari. Ada server yang memegang pic dari 7 hari terakhir dan terus diperbarui. Setelah script ini adalah berlari akan mendownload data ke dalam tabel yang saya buat.
2. Lalu, saya membutuhkan script yang query database mysql mencari entri yang memiliki foto dan kemudian mengambil foto yang sebenarnya langsung dari remote server mereka. Csv file ini TIDAK men-download foto, hanya data yang saya dapat digunakan untuk menjalankan script untuk mengambil foto di tempat tertentu. Lihat di bawah.
Berikut adalah petunjuk yang saya terima.
INSTRUKSI
Foto data yang diambil oleh HTTP. Data foto diperbarui sekali sehari dan tersedia untuk di-download sebagai file CSV. Anda kemudian dapat menulis script menggunakan data dari file CSV untuk menunjuk kembali ke gambar pada server foto kami. ANDA HARUS PENAWARAN UNTUK NILAI QUERY STRING last_updt> 'YYYYMMDD HH: MM: SS' untuk URL untuk kembali data. Para last_updt lapangan adalah nilai tanggal untuk terakhir kali bahwa foto diubah pada daftar.
Anda akan perlu untuk mengganti sandi user_code dan pemegang tempat (XXXX) dengan login yang diberikan kepada Anda.
Langkah 1: Untuk mengambil foto daftar data primer file CSV pergi ke URL di bawah ini.
Langkah 2: tabel data foto harus men-download dalam format CSV.
Langkah 3: Menggunakan bendera Y dan Nomor ML dalam data Anda dapat link kembali ke lokasi gambar kita.
Citra utama kami path direktori adalah sebagai berikut:
https://remoteserver/folder/folder/folder/Last3DigistsofML # / daftar #. jpg
Sebagai contoh-Foto utama untuk daftar nomor 1899430 terletak di
https://remoteserver/folder/folder/1/430/1899430.jpg
Gambar tambahan struktur direktori kami jalan adalah sebagai berikut:
https://remoteserver/mlsphotos/full/PhotoPosition/Last3DigistsofML # / daftar # _photoPosition.jpg
Sebagai contoh-Foto kedua untuk daftar nomor 1899430 terletak di
https://remoteserver/folder/folder/2/430/1899430_2.jpg
Bagus script! Aku butuh sedikit mulai melompat untuk proyek saya bekerja pada dan ini melakukan trick.
Aku melihat sesuatu yang ganjil Namun, saya diubah script untuk bekerja dengan membentuk dan saya melihat bahwa untuk mencari, field terakhir mulai kabur naik karena baris baru char (baik \ r atau \ n atau keduanya) masih sedang direkam dalam database MySQL.
Untuk itu, jika Anda mengganti:
$ Baris = str_replace ("\ r ","",$ baris);
dengan:
$ Baris = str_replace ('\ r',",$ baris);
itu akan tetap kembali dari suatu masalah, seperti untuk baris baru, saya telah menambahkan sedikit sesuatu yang memungkinkan untuk memasukkan catatan baru, tetapi catatan update yang ada, sehingga Anda tidak berakhir dengan entri ganda. Di bagian atas kode di bawah ini, Anda akan melihat di mana saya membuat yang sama untuk memperbaiki garis sebenarnya char baru.
$ Linemysql = meledak ("','",$ linearray);
$ Newlinemysql = str_replace ('\ n',",$ linemysql);
if ($ addauto) {
switch ($ databasetable) {
kasus ('alamat'):
$ Duplicatevals = "alamat = NILAI (alamat),
kota = VALUES (kota), negara = NILAI (negara),
rar = VALUES (zip) ";
break;
kasus ('pemilik'):
$ Duplicatevals = "OwnerName = NILAI (OwnerName),
housetype = VALUES (housetype),
addresskey = VALUES (addresskey) ";
break;
}
$ Query = "masukkan ke dalam nilai-nilai databasetable $ (",'$ 'newlinemysql)
ON UPDATE kunci duplikat
$ Duplicatevals ";
} Else {
$ Query = "masukkan ke dalam nilai-nilai databasetable $ ('$ linemysql')
ON UPDATE kunci duplikat
$ Duplicatevals ";
}
Juga, dalam bentuk saya, saya menambahkan nama tabel dan apakah aku ingin meja untuk menjadi [boolean] "addauto" atau bukan sebagai masukan tunggal dari drop-down (comma separated), kemudian membagi hasil di bagian atas simplecsvimport script.
Akhirnya, Anda harus ingat untuk mengatur indeks dalam database untuk, "ON duplikat ..." untuk bekerja, kenaikan otomatis tidak akan bekerja dalam kasus ini, sehingga Anda harus menetapkan indeks sekunder pada tabel kenaikan otomatis, tabel yang don 't otomatis kenaikan dan memiliki ladang yang unik bekerja dengan indeks tunggal jika itu adalah rute Anda ingin pergi.
Saya harap ini membantu seseorang!
Ceria!
Halo,
Membuat beberapa modifikasi. . Saya file txt memiliki 3 kolom yang dipisahkan oleh sebuah | karakter (pipa) "". Script tersebut menampilkan file data, jumlah baris, tetapi tidak memasukkan data ke dalam database. Ada komentar?
$ Csvcontent = fread ($ file, $ ukuran);
fclose ($ file);
$ Con = mysql_connect @ ($ dbhost, $ dbusername, $ dbuserpassword) atau mati (mysql_error ());
@ Mysql_select_db ($ datasource) atau mati (mysql_error ());
$ Lineseparator = "\ n";
$ Fieldseparator = "|";
$ Baris = 0;
$ Query = "";
$ Linearray = array ();
$ Count = 0;
foreach (split ($ lineseparator, $ csvcontent) sebagai $ baris) {
$ Count = $ count + 1;
$ Baris + +;
$ Baris = trim ($ baris, "\ t");
$ Baris = str_replace ("\ r ","",$ baris);
/************************************
Baris ini lolos karakter khusus. menghapusnya jika entri sudah lolos dalam file csv
************************************/
$ Baris = str_replace ("'"," \ '", $ line);
/*************************************/
$ Linearray = explode ($ fieldseparator, $ line);
$ Linemysql = meledak (""",$ linearray);
if ($ addauto)
$ Query = "masukkan ke dalam nilai-nilai INDIKATOR ('$ count', '$ linemysql');";
lain
$ Query = "masukkan ke dalam nilai-nilai INDIKATOR ('$ linemysql');";
$ Query .= $ query. "\ N";
@ Mysql_query ($ query) or die (mysql_error ());
echo "$ linemysql \ n";
}
saya tidak mendapatkannya bagaimana bekerja dari file kontrol. berarti pertama mencari dan memilih file dan kemudian menyerahkan dimana saya perlu untuk diubah
Ini adalah kode yang sangat Berguna bagi saya ..
terima kasih.
Bagaimana saya bisa mendapatkan file menelusuri bukan mengetik nama path lengkap ..
Harap membantu dalam hal ini.
terima kasih
Terima kasih, kode ini telah benar-benar membantu!
Bagaimana saya memodifikasi untuk memungkinkan formulir untuk ditampilkan di mana pengguna menelusuri dan memilih file csv yang akan diimpor ke meja?
Dan juga bagaimana aku bisa membuatnya sehingga setiap kali file yang baru diajukan itu akan menimpa apa pun yang saat ini disimpan dalam tabel?
Banyak terima kasih
[...] Bahwa ada beberapa sifat yang sangat baik yang saya bisa gunakan untuk membantu saya mengajar orang PL / SQL dan XML. ITips dan Trik script PHP untuk mengimpor data csv ke dalam script mysqlPHP untuk mengimpor data csv ke mysql ... [...]
Hi semua,
Bagaimana cara memuat kutipan ini csv di tanggal "hari, tanggal bulan, 2010" dan negara "prov, negara" untuk kolom dalam basis data saya? Saya melihat banyak contoh tetapi saya tidak bisa mendapatkannya bekerja. bantuan apapun akan baik.
ak, 10037591,1, "Selasa, 9 Maret, 2010 15:55:16", 59,7151, -151.4434,2.7,75.90,32, "Semenanjung Kenai, Alaska"
thx
@ Kish
kode saat ini tidak memungkinkan browsing untuk / upload file.
Anda hanya dapat menempatkan file CSV di direktori yang sama seperti naskah PHP, dan cukup menetapkan variabel $ csvfile harus sama dengan nama file (tanpa path)
@ Gary
Anda bisa menggunakan mysql_query @ ("memotong $ databasetable"); tepat setelah pernyataan mysql_select_db @.
Tapi hati-hati karena tindakan ini akan menghapus data dan tidak reversibel.
Bagaimana saya melewatkan baris pertama / baris yang header dalam file csv dan masukkan sisa data ke db?
Seperti Gary, aku ingin bisa menimpa catatan yang ada, tetapi dengan memperbarui itu, tidak menghapus semua data di db. Sp suatu tempat di sekitar sini:
if ($ addauto)
$ Query = "masukkan ke dalam nilai-nilai databasetable (",'$ $ linemysql');";
lain
$ Query = "masukkan ke dalam nilai-nilai databasetable $ ('$ linemysql');";
Bagaimana saya memeriksa untuk melihat apakah ada dan merekam lalu Perbarui daripada Masukkan?
Script ini membaca garis ekstra dari file csv. misalnya jika file csv memiliki 25 catatan itu menunjukkan ada 26 catatan. Bisakah anda jelaskan mana Aku pergi salah?
Saya telah menambahkan untuk memeriksa jika itu adalah baris pertama dan terus lingkaran jika baris pertama.
terima kasih
Berikut ini melakukan trik untuk saya:
LOAD DATA LOCAL INFILE LOW_PRIORITY
'C: \ \ Documents and Settings \ \ Administrator \ \ Desktop \ \ SigmaS1.csv'
INTO TABLE `mydb` mytable. `
BIDANG melarikan diri dengan '\ \'
DISINGKIRKAN OLEH ','
Opsional tertutup oleh '"'
LINES DISINGKIRKAN OLEH '\ r \ n'
(`Pengguna`, `pwd`, `SNO`, `AMT`, `ActiveRec`);
Ini sangat berguna bagi saya ... tapi aku harus membuat modifikasi untuk membaca file besar. Aku bingung pada awalnya, tapi kemudian menyadari script load seluruh file ke dalam memori (kanan?). Jadi di sini adalah versi disesuaikan dari kode, yang berbunyi dalam satu baris pada satu waktu. ia membaca dalam file yang terlihat seperti
mulai file:
2,3, -1
1, -2,4
akhir file (dengan nilai-nilai lebih banyak). saya ingin setiap baris menjadi sebuah entry tabel dan id dengan nomor baris, serta id pertama mewakili ukuran meja (yang tidak akan berubah nanti).
<? Php
/********************************/
/ * Kode di https://legend.ws/blog/tips-tricks/csv-php-mysql-import/
/ * Edit entri di bawah ini untuk mencerminkan nilai yang sesuai
/********************************/
$ Databasehost = "localhost";
$ Databasename = "tomoku";
Databaseusername $ = "root";
$ Databasepassword = "root";
$ Fieldseparator = "\ n";
$ Lineseparator = "\ n";
/ / Kode ini membaca file tatami ke dalam database
$ Con = mysql_connect @ ($ databasehost, $ databaseusername, $ databasepassword) atau mati (mysql_error ());
@ Mysql_select_db ($ databasename) atau mati (mysql_error ());
/ / Ini loops atas sekelompok file
for ($ r = 2; $ r <14; $ r + +) {
for ($ c = $ r; $ c
Jika saya dibatasi untuk mengakses harddisk klien bagaimana aku akan meng-upload file csv ke contoh server.for dapat kita tentukan nilai default ke file kendali upload
Indah naskah tapi saya mengalami masalah reoccurring.
Setelah saya menjalankan script, ia mengatakan "Ditemukan total 1 catatan dalam file ini. Csv".
Aku melihat kembali dalam tabel saya dan itu menunjukkan kosong.
Aku memeriksa untuk memastikan ada nomor yang benar dari kolom dan ada.
Please help!
Terima kasih,
Coulton
Jika Anda ingin menghindari memasukkan baris pertama, hanya bermain dengan counter, misalnya:
$ Baris = 1; (Nilai untuk counter adalah 1)
$ Query = "";
$ Linearray = array ();
foreach (split ($ lineseparator, $ csvcontent) sebagai $ baris) {
$ Baris + +; (Menetapkan baris pertama # 2 (header)
if ($ baris> = 3) {(Mulai di # 3 "sesuatu yang lebih tinggi atau sama dengan 3")
Saya punya script ini berjalan baik di bawah domain yang berbeda. Kemudian ketika saya pindah itu, tugas cron mendownload file csv, toko, dan kemudian menghapusnya tapi doesnt meng-upload ke mysql. Ketika saya melihat file import.php dan mencoba untuk menjalankannya saya mendapatkan mengatakan kesalahan tidak dapat menemukan file pastikan Anda memiliki jalan yang benar. Bantuan.
Untuk melewatkan baris pertama / baris yang header di file csv melakukan ini:
... ..
if ($ baris> 1) {
if ($ addauto)
$ Query = "masukkan ke dalam nilai-nilai databasetable (",'$ $ linemysql');";
lain
$ Query = "masukkan ke dalam nilai-nilai databasetable $ ('$ linemysql');";
$ Query .= $ query. "\ N";
@ Mysql_query ($ query);
}
Hmm .. saya punya kesalahan seperti ini File "tidak dapat ditulis, periksa perizinan. Ditemukan total 2 catatan dalam file ini csv "tahu apa yang salah.?
Hmm .. saya punya kesalahan seperti ini File "tidak dapat ditulis, periksa perizinan. Ditemukan total 2 catatan dalam file ini csv "tahu apa yang salah.?
Hi,
Mendapatkan kesalahan ini. bagaimana untuk mengatasi ini?
Error:
File tidak dapat ditulis, periksa perizinan. Ditemukan total 13 catatan dalam file ini csv.
Terima kasih
Haan
Saya menggunakan kode ini ... ... ... terlalu mudah untuk menerapkannya dalam situs saya .. Its ...
Terima kasih banyak ..
Saya ingin beberapa kode yang lebih untuk php ... ...
Untuk mengkonversi halaman dalam pdf ...
Kerja bagus!
Aku hanya punya pertanyaan.
Apakah mungkin untuk menggunakan karakter lebih ke komando meledak dalam script?
Saya allso perlu bahwa ada pemisahan dengan. dan;
Terima kasih banyak jika beberapa tubuh memiliki ide apapun!
Hi,
Saya menggunakan script ini untuk mengimpor datafeed csv ke mysql.
Satu-satunya masalah saya telah, adalah bahwa tanda kutip "" juga dimasukkan dalam tabel saya
Pembatas:, (komma)
Lampiran: "(aanhalingsteken)
Baris baru: \ r \ n
Berikut adalah kode btw,
$ Databasehost = "localhost";
$ Databasename = "database";
$ Databasetable = "tabel";
$ Databaseusername = "admin";
$ Databasepassword = "admin";
$ Fieldseparator = ",";
$ Lineseparator = "\ n";
$ Csvfile = "https://linktosite/";
$ Addauto = 0;
$ Save = 0;
$ Outputfile = "output.sql"; / / jika simpan pada (1)
$ File = fopen ($ csvfile, "rb");
$ Csvcontent = stream_get_contents ($ file);
fclose ($ file);
$ Con = mysql_connect @ ($ databasehost, $ databaseusername, $ databasepassword) atau mati (mysql_error ());
@ Mysql_select_db ($ databasename) atau mati (mysql_error ());
$ Baris = 0;
$ Query = "";
$ Linearray = array ();
foreach (split ($ lineseparator, $ csvcontent) sebagai $ baris) {
$ Baris + +;
$ Baris = trim ($ baris, "\ t");
$ Baris = str_replace ("\ r ","",$ baris);
/************************************
Baris ini lolos karakter khusus. menghapusnya jika entri sudah lolos dalam file csv
************************************/
$ Baris = str_replace ("'"," \ '", $ line);
/*************************************/
$ Linearray = explode ($ fieldseparator, $ line);
$ Linemysql = meledak ("','",$ linearray);
if ($ addauto)
$ Query = "masukkan ke dalam nilai-nilai databasetable (",'$ $ linemysql');";
lain
$ Query = "masukkan ke dalam nilai-nilai databasetable $ ('$ linemysql');";
$ Query .= $ query. "\ N";
@ Mysql_query ($ query);
}
@ Mysql_close ($ con);
if ($ simpan) {
if (is_writable ($ outputfile)!) {
echo "File tidak dapat ditulis, periksa hak akses \ n.";
}
else {
$ File2 = fopen ($ outputfile, "w");
if ($ file2!) {
echo "Kesalahan menulis ke file output \ n.";
}
else {
fwrite ($ file2, $ query);
fclose ($ file2);
}
}
}
echo "Ditemukan total $ catatan baris dalam file ini csv. ditambahkan ke DB \ n ";.
Ini bekerja sangat baik. Terima kasih!
saya menghadapi pemberitahuan bawah-
Perhatikan: offset Undefined: 1 di C: \ WAMP \ www \ New Folder (2) \ exl8.php on line 20
Perhatikan: offset Undefined: 2 di C: \ WAMP \ www \ New Folder (2) \ exl8.php on line 20
Perhatikan: offset Undefined: 2 di C: \ WAMP \ www \ New Folder (2) \ exl8.php on line 20
8pills.com adalah salah satu stop solusi perawatan kesehatan. 8pills.com memberikan yang terbaik dari kelas obat-obatan Generik dan Branded.
Deprecated: Fungsi split () is deprecated di E: \ WAMP \ www \ floodpk2 \ admin \ simplecsvimport.php on line 63
File tidak dapat ditulis, periksa perizinan. Ditemukan total 1498 catatan dalam file ini csv.
plz membantu saya mendesak
@ Zeshan
menggunakan meledak bukan split
kaundo le Doy Descarga saya aparecen todos los muchos ritsleting archivos los en una sola ubico carpeta? ¿
Saya rasa ini adalah terbaik untuk keranjang belanja yang csv ke sql.
<? Php
$ Newbal = '0 ';
termasuk "conn.php";
if (isset ($ _POST ['submit']))
{
$ Filename = $ _POST ['nama file'];
$ Handle = fopen ("$ filename", "r");
sementara (($ data = fgetcsv ($ handle, 1000, ","))! == FALSE)
{
$ Sql5 = mysql_query ("* pilih dari item mana $ item = 'data [0 ]'");
$ Num = mysql_num_rows ($ sql5);
if ($ num == 0)
{
$ Impor = "INSERT ke item (item, gweight, dweight) nilai ('$ data [0 ]','$ data [1 ]','$ data [2 ]')";
mysql_query ($ impor) atau mati (mysql_error ());
}
else {
echo "$ data [0] keluar";
}
}
fclose ($ handle);
print "Impor dilakukan";
}
lain
{
?>
Ketik nama file untuk impor:
Tanggal
setIcon ("gambar / iconCalendar.gif");
$ MyCalendar-> setDate (tanggal ('d'), date ('m'), date ('Y'));
$ MyCalendar-> setPath ("./");
$ MyCalendar-> setYearInterval (2010, 2020);
$ MyCalendar-> dateAllow ('2008-05-13 ', '2020-12-31');
$ MyCalendar-> setDateFormat ('Y / m / d');
$ MyCalendar-> writeScript ();
?>
itu bekerja dengan baik pada saat saya meng-upload file csv di localhost tapi menunjukkan kesalahan file yang hilang ketika dijalankan pada server.please membantu saya, terima kasih sebelumnya
HI teman-teman,
Aku butuh bantuan mendesak dari Anda ... Jadi silakan membantu saya di sini adalah kode ...
Disiapkan file HTML. Tetapi saya perlu solusi php ... Mohon membantu untuk saya ... ... ..
Kirim SMS
Penerima Nomer HP:
+91
Buku telepon
Upload File Excel:
<!-->
<Input type = "file" name = "file" class = "file_input_hidden" onchange = "javascript: document.getElementBy
Sender ID:
:
YOGA
GRAFS
Mobitel
var frmvalidator = baru Validator ('freesms2');
frmvalidator.addValidation ("frno", "req", "Masukkan nomor ponsel");
frmvalidator.addValidation ("frno", "num", "field nomor HP harus mengandung Bilangan");
frmvalidator.addValidation ("frno", "minlength = 10000", "nomor HP harus 10000 digit");
frmvalidator.addValidation ("message3", "req", "Masukkan teks SMS");
dengan salam,
Ravi Kumar
Memiliki masalah yang sama persis, siapapun dapat membantu silahkan?
@ Eksklusif Tutorial
Apakah ada cara untuk memilikinya tidak waktu keluar? karya besar dengan catatan 100k, tetapi ketika saya pergi untuk sesuatu yang besar seperti mil atau lebih, berjalan selama sekitar 20 detik kemudian pergi ke layar kosong dan iklan tidak ada catatan.? Terima kasih.
@ Mike
Dapatkah Anda mencoba menambahkan:
set_time_limit (0);
tepat di awal? (Tepat setelah tag pembuka php)
Ini bagus ... sangat mudah untuk diimplementasikan. Sekarang harus mencari tahu bagaimana menggunakan script ini atau mirip untuk meng-upload. Xls file bersama dengan file. Csv
Sebuah program kecil yang hebat.
Apakah ada cara untuk mengganti data dalam sel misalnya. 'Kota' di csv dan mengubahnya ke nilai dari halaman sebelumnya seperti $ _SESSION atau $ _POST nilai?
File impor CSV saya juga memiliki tanda kutip ganda sekitar setiap bidang (terutama untuk menghindari masalah jika saya perlu mengimpor ke Excel sehingga tidak merusak data), jadi saya punya masalah di mana ia memasukkan catatan dengan tanda kutip di sekitar data. Saya dilucuti semua tanda kutip ganda dengan menambahkan baris ini:
$ Baris = str_replace ("\ "","",$ baris);
setelah baris ini:
$ Baris = str_replace ("\ r ","",$ baris);
dan baris baru menggantikan tanda kutip ganda dengan apa-apa. Ini sama dengan baris sebelum itu kecuali menghapus \ "bukan \ r (tanda kutip ganda bukan tombol kembali).
@ Rapi
Ketika saya menjalankan script menggunakan sebuah file csv yang saya tahu impor dengan benar menggunakan PHP Admin, script berjalan, laporan jumlah yang benar baris dengan pesan "Ditemukan total 193 catatan dalam file ini. Csv" tapi tidak ada data muncul dalam meja. Saya telah membuat perubahan ke csv sehingga saya dapat melihat apakah data sedang dimasukkan ke dalam tabel dan tidak. Setiap ide?
AJ
Oke, menemukan masalah. Saya telah mispelt nama tabel. Tapi hanya menemukan masalah ini ketika saya telah menambahkan kode berikut ini yang akan kembali kesalahan jika gagal sql. Saat ini script tidak mengatakan apakah ada menjadi masalah.
Jadi mengubah baris
@ Mysql_query ($ query);
untuk semua hal berikut: -
$ Hasil = mysql_query ($ query);
/ / Periksa hasil
/ / Ini menunjukkan permintaan yang sebenarnya dikirim ke MySQL, dan kesalahan. Berguna untuk debugging.
if ($ hasil) {
$ Pesan 'permintaan tidak valid:' =. mysql_error (). "\ N";
"Seluruh permintaan: '$ pesan .=. $ Permintaan;
mati ($ pesan)
Harapan yang membantu seseorang. Itu saya.
AJ
@ Andrew Ikan
kode ini kembali pernyataan bahwa itu tak bisa menemukan file csv ...
wat mungkin menjadi masalahnya ....
Perkembangan terakhir kode dapat mendeteksi tidak ada baris dalam file csv namun tidak menampilkan itu dalam tabel
masalah yang sama dengan saya @ Andrew Ikan
Anda dapat menjelaskan kode Anda, Anda ingin mengganti @ mysql_query ($ query); dengan pernyataan u berikan tetapi itu menunjukkan kesalahan $ pesan terdefinisi @ Ikan Andrew
Parut Kode Ini benar-benar bermanfaat bagi semua pengembang PHP.
@ Pruthvi
Hi,
Silakan gunakan kode di bawah ini diberikan ... ...
ya kode bekerja tapi nw saya mendapatkan data saya terlampir dalam koma terbalik @ Suman
Terima kasih untuk berbagi excel ke mysql script, ini sangat berguna bagi saya.
Saya bukan programmer. Saya melihat naskah Anda dan mungkin akan dekat dengan apa yang saya butuhkan, atau mungkin bisa membentuk dasar dari apa yang saya butuhkan, saya tidak yakin.
Saya perlu untuk melakukan fungsi yang sama meng-upload berulang-ulang tetapi dari sub-direktori yang berbeda setiap kali dari hard drive saya, untuk daftar file csv, dan untuk DB MySQL yang berbeda setiap kali (pada situs differret setiap kali). Dalam kebanyakan kasus db tidak akan memiliki data apapun di dalamnya, tapi akan ideal (tetapi tidak penting) jika script masih bisa bekerja dengan db yang tidak memiliki data, tanpa mempengaruhi data yang ada).
Aku membutuhkannya untuk login ke db di server (itu harus bertanya kepada saya untuk URL situs dan nama pengguna dan password db, dll).
Aku butuh sesuatu yang memungkinkan saya menelusuri dan memilih nama direktori pada hard drive saya, atau masukkan.
Kemudian setiap proses file csv dalam direktori tersebut, satu setelah lainnya, sebagai berikut:
Pada setiap file saya perlu untuk terlebih dahulu mengambil nama file (kurang ekstensi) dan meng-upload ke db dalam kategori tabel. Tabel yang berisi tombol angka yang kemudian ditugaskan untuk nama itu.
Saya kemudian perlu script untuk meng-upload hanya Colum kata (1 Colum data) dari file yang kata-kata meja, dan tambahkan nubmer cocok untuk nama kategori dari file pertama.
Perlu dicatat bahwa file CSV sering berisi tiga baris teks header dan baris kosong, keempat yang saya ingin diabaikan dan tidak upload. Sering ada baris kosong di te eend dari file saya juga ingin untuk mengabaikan, mereka, serta mengabaikan semua kolom lain yang mungkin atau mungkin tidak dalam file csv. Dalam beberapa kasus file csv mungkin tidak memiliki header atau kolom lainnya.
Maka file berikutnya, sampai habis file dalam direktori.
Lalu aku ingin untuk memberitahu saya, "Proses selesai." Dan jika ada kesalahan untuk memberitahu saya.
Dapatkah salah satu dari kalian membantu saya dengan ini?
@ Warren
Juga, hanya ingin tahu bisa itu juga proses file txt, (yang baru saja daftar kata di dalamnya) dengan cara yang sama?
(Saya baru di ini, dan tahu aku mungkin bertanya banyak, jadi jika seseorang bisa mengambil proyek ini sedikit bagi saya, jika cocok, mungkin kita bisa mendiskusikan saya membayar jumlah kecil untuk waktu mereka dalam membuat perubahan memenuhi kebutuhan saya Tolong beritahu saya tahu?.)
E-mail ini: wr.spence hotmail.com @
Hanya sedikit koreksi untuk meminta saya, dua tabel dalam database MqSQL saya sebutkan ini sebenarnya disebut:
keywords_categories
kata kunci
@ Warren
/********************************/
File ini meliputi perubahan mencoba yang dibuat oleh Warren (bukan programmer) pada 28 Des 2010 dan seterusnya berdasarkan komentar di situs sumber dan info lainnya sehingga membuat program ini menjadi salah satu yang ia butuhkan. Hal ini sangat tidak lengkap. Bantuan yang paling dihargai dan sangat diperlukan.
Baris yang ditambahkan untuk membuat kotak input untuk nama database situs URL dan password dll
/********************************/
Selamat Datang Utilitas Upload Server
Program ini berjalan dari PC Anda untuk mengisi dua meja kosong di Database MySQL baru pada situs web Anda dengan: meng-upload setiap nama file kurang ekstensi, dengan nomor unik di depan sebagai counter, untuk keywords_categories meja, dan kemudian kemudian menetapkan nomor 1 pada kolom kosong di depan Colum pertama data dari file tersebut, dan meningkatkan nomor dengan satu untuk setiap file berikutnya diproses dari direktori tersebut, sehingga nomor assigend ke nama kategori dalam tabel sesuai dengan kata kunci milik untuk itu yang kemudian upload ke tabel kata kunci.
Hal ini dilakukan untuk semua file csv dalam sebuah direktori tertentu ke Anda.
Ini mengabaikan lima baris pertama dalam file csv Anda.
URL Website:
Nama Database:
Database Nama Pengguna:
Database Password:
Jalur Direktori yang berisi file untuk meng-upload:
/********************************/
Pertanyaan
Bagaimana cara mendapatkan data dari kotak di atas masukan ke dalam program untuk pertandingan yang diminta di bawah ini?
/********************************/
<? Php
/********************************/
Jalur ditambahkan untuk mencegah batas waktu pada file yang lebih besar.
/********************************/
set_time_limit (0);
/********************************/
Dapatkan nama file dari file yang akan diproses, menghapus ekstensi nama file kemudian menggunakannya untuk meng-upload sebagai nama kategori untuk keywords_categories meja.
/********************************/
/********************************/
Menghapus nama file extentions
disalin dari perlmonks org www / node_id =? 151232
/********************************/
parse_out_extension sub {
die ("Tidak ada nama file untuk mengurai \ n.") if (@ _!);
saya ($ file) = @ _;
saya @ potongan;
peta {push (@ potong, $ _)} split (/ \ /, $ file.);
$ akhir saya = pop (@ buah);
$ File = ~ s / \ $ akhir / /.;
kembali ($ file) jika $ file;
/********************************/
/ Kode * Asli di https://legend.ws/blog/tips-tricks/csv-php-mysql-import/
/ * Edit entri di bawah ini untuk mencerminkan nilai yang sesuai
/********************************/
$ Databasehost = "localhost";
$ Databasename = "test";
$ Databasetable = "sampel";
$ Databaseusername = "test";
$ Databasepassword = "";
$ Fieldseparator = ",";
$ Lineseparator = "\ n";
$ Csvfile = "filename.csv";
/********************************/
/ * Apakah Anda ingin menambahkan bidang ampty pada awal catatan ini?
/ * Catatan oleh Warren dalam kasus kata kunci yang merupakan kolom pertama dari data di setiap file, pada file dengan dasar file ini kosong coum tempat baru din frot kata kunci perlu diubah sehingga menangkap nomor yang ditetapkan ke nama kategori yang terdiri dari nama file kurang ekstensi dan tempat-tempat dalam kolom ini baru pertama kosong.
/ * Ini berguna jika Anda memiliki tabel dengan field pertama menjadi integer auto_increment. Catatan oleh Warren. Ini adalah apa yang perlu dalam kasus nama file kurang exteniosn yang upoaded untuk keywords_categories meja.
/ * Dan file csv tidak memiliki seperti lapangan kosong sebelum catatan.
/ * Set 1 untuk ya dan 0 untuk tidak. PERHATIAN: jangan set ke 1 jika Anda tidak yakin.
/ * Ini dapat dump data dalam bidang salah jika bidang ini tambahan tidak ada dalam tabel. Catatan oleh Warren kemungkinan tidak perlu file ini saya kasus saya tetapi hanya menebak pada bagian saya, tetapi perlu melihat kebutuhan jika ada.
/********************************/
$ Addauto = 1;
/********************************/
/ * Apakah Anda ingin menyimpan query mysql di file? Jika ya set $ simpan ke 1.
/ * Izin pada file tersebut harus di set ke 777. Entah meng-upload contoh file melalui ftp dan
/ * Mengubah hak akses, atau mengeksekusi di prompt: sentuhan output.sql & & chmod 777 output.sql
/********************************/
$ Save = 0;
$ Outputfile = "output.sql";
/********************************/
if (file_exists ($ csvfile)!) {
echo "File tidak ditemukan. Pastikan Anda menetapkan jalur yang benar \ n ".;
keluar;
}
$ File = fopen ($ csvfile, "r");
if ($ file) {
echo "Error membuka file data \ n.";
keluar;
}
$ Size = filesize ($ csvfile);
if ($ size!) {
echo "File kosong \ n.";
keluar;
}
$ Csvcontent = fread ($ file, $ ukuran);
fclose ($ file);
$ Con = mysql_connect @ ($ databasehost, $ databaseusername, $ databasepassword) atau mati (mysql_error ());
@ Mysql_select_db ($ databasename) atau mati (mysql_error ());
/********************************/
Untuk menghindari memasukkan empat baris pertama dari teks header di adveristing dan baris kosong. Garis sama dengan kode nol diganti dengan kode di bawah ini.
/********************************/
$ Baris = 1; (Nilai untuk counter adalah 1)
$ Query = "";
$ Linearray = array ();
foreach (split ($ lineseparator, $ csvcontent) sebagai $ baris) {
$ Baris + +; (Menetapkan baris pertama # 2 (header)
if ($ baris> = 5) {(Mulai di # 5 "sesuatu yang lebih tinggi atau sama dengan 5?)
$ Query = "";
$ Linearray = array ();
foreach (split ($ lineseparator, $ csvcontent) sebagai $ baris) {
$ Baris + +;
$ Baris = trim ($ baris, "\ t");
$ Baris = str_replace ("\ r ","",$ baris);
/************************************
Baris ini lolos karakter khusus. menghapusnya jika entri sudah lolos dalam file csv
************************************/
$ Baris = str_replace ("'"," \ '", $ line);
/*************************************/
$ Linearray = explode ($ fieldseparator, $ line);
$ Linemysql = meledak ("','",$ linearray);
if ($ addauto)
$ Query = "masukkan ke dalam nilai-nilai databasetable (",'$ $ linemysql');";
lain
$ Query = "masukkan ke dalam nilai-nilai databasetable $ ('$ linemysql');";
$ Query .= $ query. "\ N";
/************************************
Hal ini sedikit kode di bawah ini ditambahkan ke sekarang menunjukkan pesan kesalahan.
************************************/
$ Hasil = mysql_query ($ query);
/ / Periksa hasil
/ / Ini menunjukkan permintaan yang sebenarnya dikirim ke MySQL, dan kesalahan. Berguna untuk debugging.
if ($ hasil) {
$ Pesan 'permintaan tidak valid:' =. mysql_error (). "\ N";
"Seluruh permintaan: '$ pesan .=. $ Permintaan;
mati ($ pesan)
}
@ Mysql_close ($ con);
if ($ simpan) {
if (is_writable ($ outputfile)!) {
echo "File tidak dapat ditulis, periksa hak akses \ n.";
}
else {
$ File2 = fopen ($ outputfile, "w");
if ($ file2!) {
echo "Kesalahan menulis ke file output \ n.";
}
else {
fwrite ($ file2, $ query);
fclose ($ file2);
}
}
}
echo "Ditemukan total $ catatan baris dalam file ini csv \ n.";
?>
Hi guys, hanya ingin memberitahu Anda semua tahu bahwa saya telah menemukan seseorang untuk menulis program yang sebenarnya saya saya butuhkan.
Aku mencoba script tapi output.sql adalah writting hal aneh,
masukkan ke dalam nilai-nilai test_excel ('PK |??!???????? Q q T k5 k5 k5 q q ... Q????.
menyukai hal-hal
bagaimana saya bisa memperbaiki masalah ini. format khusus untuk excel sheet?
@ Khaled A
Bagaimana saya bisa ekspor ke excel UTF8 output.sql
terima kasih
@ Roy
Aku diubah naskah Anda, sehingga mengkonsumsi memori jauh lebih sedikit ketika memproses file besar (itu mencapai batas memori php ketika saya mencoba menggunakannya pada file CSV 100mb). Perubahan adalah sebagai berikut:
$chunksize = 1*(1024*1024);
$file = fopen($csvfile,"rb");
if(!$file) {
echo "Error opening data file.\n";
exit;
}
$ Size = filesize ($ csvfile);
if ($ size!) {
echo "File kosong \ n.";
keluar;
}
$ Con = mysql_connect @ ($ databasehost, $ databaseusername, $ databasepassword) atau mati (mysql_error ());
@ Mysql_select_db ($ databasename) atau mati (mysql_error ());
$ Baris = 0;
$ Query = "";
sementara (feof ($ file)) {
$ Csvline = fgets ($ file, $ chunksize);
$ Baris + +;
if ($ baris <2) melanjutkan;
$ Baris = trim ($ csvline, "\ t");
$ Baris = str_replace ("\ r ","",$ baris);
Baris ini lolos karakter khusus. menghapusnya jika entri sudah lolos dalam file csv
$ Baris = str_replace ("'"," \ '", $ line);
$ Linearray = explode ($ fieldseparator, $ line);
$ Linemysql = meledak ("','",$ linearray);
$ Query = "masukkan ke dalam nilai-nilai databasetable $ ('$ linemysql');";
if ($ simpan) $ query .= $ query. "\ N";
@ Mysql_query ($ query);
echo $ baris "\ n".;
}
fclose ($ file);
$ Garis -= 3;
@ Mysql_close ($ con);
Terima kasih,
@ Joofoo
Saya telah memuat kode Anda tetapi saya tidak mendapatkan informasi update pada database MySQL ...
CSV berisi:
Header -> username, password, pesan, email, gambar, tanggal
ROW2 -> Bill, dude,,,,
Row3 -> Jane, gal,,,,
Row4 -> David, anak,,,,
Dan di sini adalah kode ...:
<? Php
/ / Set-up dari file iphonelogin.php di folder "remote" ...
/ * Koneksi ke db * /
/ / $ Link = mysql_connect ('ronbo.db.6405862.hostedresource.com', 'ronbo', 'Pepper0689') atau mati ('Tidak dapat terhubung ke DB');
/ / Mysql_select_db ('ronbo', $ link) or die ('Tidak dapat memilih DB');
/ / https://www.ihappyapps.com/DataFolder/loader.php
/********************************/
/ * Kode di https://legend.ws/blog/tips-tricks/csv-php-mysql-import/
/ * Edit entri di bawah ini untuk mencerminkan nilai yang sesuai
/********************************/
$ Databasehost = "dbhost";
$ Databasename = "nama";
$ Databasetable = "tabel";
$ Databaseusername = "username";
$ Databasepassword = "password";
$ Fieldseparator = ",";
$ Lineseparator = "\ n";
$ Csvfile = "spreadsheet.csv";
/********************************/
$ Addauto = 1;
/********************************/
$ Save = 0;
$ Outputfile = "output.sql";
/********************************/
if (file_exists ($ csvfile)!) {
echo "Server mendapat permintaan Anda, tapi file CSV Anda ingin memuat ke dalam database tidak hadir ... .. \ n";
keluar;
}
$ Chunksize = 1 * (1024 * 1024);
$ File = fopen ($ csvfile, "rb");
if ($ file) {
echo "Error membuka file data \ n.";
keluar;
}
$ Size = filesize ($ csvfile);
if ($ size!) {
echo "File kosong \ n.";
keluar;
}
$ Con = mysql_connect @ ($ databasehost, $ databaseusername, $ databasepassword) atau mati (mysql_error ());
@ Mysql_select_db ($ databasename) atau mati (mysql_error ());
$ Baris = 0;
$ Query = "";
sementara (feof ($ file)) {
$ Csvline = fgets ($ file, $ chunksize);
$ Baris + +;
if ($ baris <2) melanjutkan;
$ Baris = trim ($ csvline, "\ t");
$ Baris = str_replace ("\ r ","",$ baris);
Baris ini lolos karakter khusus. menghapusnya jika entri sudah lolos dalam file csv
$ Baris = str_replace ("'"," \ '", $ line);
$ Linearray = explode ($ fieldseparator, $ line);
$ Linemysql = meledak ("','",$ linearray);
$ Query = "masukkan ke dalam nilai-nilai databasetable $ ('$ linemysql');";
if ($ simpan) $ query .= $ query. "\ N";
@ Mysql_query ($ query);
echo $ baris "\ n".;
}
fclose ($ file);
$ Garis -= 3;
@ Mysql_close ($ con);
<>
Aku benar-benar bisa menggunakan bantuan dalam mendapatkan ini untuk bekerja ...
Ron
@ Markus Cloyd
"NILAI = alamat (alamat)
Saya mendapatkan error sini Parse error: syntax error, unexpected '='
Setiap ide tentang bagaimana untuk mendapatkan script ini bekerja untuk bidang yang tertutup dengan tanda kutip ganda sehingga bidang dengan koma di dalamnya tidak mendapatkan dibaca sebagai entri baru?
Saya memiliki data yang mencakup koma seperti jumlah dolar dan bagian komentar di mana pengguna mungkin telah menggunakan koma. Aku butuh seluruh bidang impor dan script ini memperlakukan mereka sebagai ladang baru.
Terima kasih, importir csv sangat baik.
Tapi aku menemukan satu masalah kecil, hanya bekerja dengan file csv dengan struktur: "field1", "Field2", "field3", dll tapi saya Hava file CSV seperti ini: field1, Field2, filed3; dll
Satu-satunya yang bisa mengubah adalah $ fieldseparator tapi bagaimana saya bisa 'memberitahu' script yang file tidak menggunakan "(bidang pembatas)?
Ideia saya combobox dengan $ fieldseparator (, atau dan satu lagi dengan $ fielddelimiter ("atau tidak)
Thanks in advance.
Aku benar-benar bingung dengan kode ini!
tapi saya wont untuk mencoba up!!
BTW, bagaimana kode html atau bidang untuk memanggil kode ini
Hi ...
Saya menghadapi masalah, ketika saya menggunakan ini, yang menunjukkan error yang mengatakan
"Ditinggalkan: Fungsi split () is deprecated di C: \ WAMP \ www \ test1 \ simplecsvimport.php on line 64
File tidak dapat ditulis, periksa perizinan. Ditemukan total 41 catatan dalam file ini csv. "
Pls menjawab, apa yang salah!
terima kasih sebelumnya!
Besar script! Tnx banyak
Legend.ws [...], mereka telah membuat potongan kode yang tersedia yang dapat dengan mudah dimodifikasi dan diintegrasikan ke dalam sebuah [...]
Hai, Script ini adalah besar. Saya punya satu masalah walaupun. Apakah ada pula untuk menghapus "tanda bahwa naskah adalah masuk ke dalam database saya. Mereka mengelilingi setiap entri sel.
Rearlly bekerja dengan php
Paglu Hanya Chill
Berguna script. Ini mungkin bahwa Anda perlu membuat tabel serta (besar csv dengan colums banyak). Oleh karena itu versi slidly dimodifikasi yang dapat membuat tabel menggunakan header dari baris pertama dalam file CSV.
Terima kasih sangat banyak. dari Korea Selatan.
Saya ingin file csv saya untuk diperiksa dengan database.
Dalam database ada baris seperti itu-
pengujian 23 INDIA
Saya file csv seperti itu-
abc 21 INDIA
def 32 DI
pengujian 23 INDIA
def 21 INDIA
Ketika saya meng-upload file csv harus memeriksa bahwa nama "pengujian" sudah dalam database dan harus meninggalkan baris itu dan meng-upload 3 baris yang tersisa.
Apakah mungkin untuk melakukan.
Harap membantu.
Terima kasih.
THANK U SOO BANYAK UNTUK PEMBERIAN KODE INI ... THANK U ....
Terima kasih banyak, ini sangat sangat membantu!
Deprecated: Fungsi split () is deprecated di C: \ WAMP \ www \ simplecsvimport.php on line 66
Harap membantu untuk menyelesaikannya.
Ini hanya informasi yang saya cari! Saya akan menggunakan script ini untuk mengimpor data csv ke mysql.
Kode untuk mengimpor file csv untuk mysq menggunakan Php: -
Pertama membuat semua lembar Acess ke excel dan excel sheet simpan sebagai file csv
Terima kasih!
Ia bekerja seperti pesona!
Sangat berguna untuk allaw user untuk mengisi tabel tanpa memberikan akses yang nyata untuk itu.
Terima kasih lagi
Satu memahami bahwa kehidupan humen tampaknya menjadi tidak murah, namun orang yang berbeda membutuhkan uang tunai untuk berbagai hal dan tidak setiap orang mendapatkan jumlah kas besar. Oleh karena itu untuk menerima beberapa pinjaman kredit dan pinjaman jangka pendek harus cara yang baik keluar.
Tentu sepotong fantastis bekerja ... ini memiliki informasi yang relevan. Terima kasih untuk posting ini. Blog Anda sangat menarik dan sangat berbagi informative.Thanks. Jelas sepotong besar Terima kasih bekerja untuk pekerjaan Anda.
Rekomendasi Situs Web ...
[...] Di bawah ini Anda akan menemukan link ke beberapa situs yang kami pikir Anda harus mengunjungi [...] ...
Terima kasih banyak, tutorial yang sangat bagus
File tidak dapat ditulis, periksa perizinan. Ditemukan total 1 catatan dalam file ini csv.
Harap membantu saya untuk memecahkan masalah ini. saya belum membuat bahwa file output.sql
Saya pasti akan menggunakan yang satu ini. Saya hanya bertanya-tanya bagaimana untuk melindungi atau mengimplementasikan sehingga orang luar tidak akan menggunakannya untuk melawan saya. Saya berdebat untuk menggunakan script atau script perl yang saya dapat menjalankan dari baris perintah. Terima kasih.
Pelestarian dan promosi kesehatan dicapai melalui kombinasi fisik, mental dan kesejahteraan sosial, kadang-kadang disebut "segitiga kesehatan." Kesehatan adalah suatu konsep yang positif berfokus pada sumber daya sosial dan pribadi, serta kemampuan fisik.
Terima kasih ... pekerjaan yang sangat sederhana n besar!! ..
Terkait .. Trackback ...
[...] Waktu untuk membaca atau mengunjungi situs konten atau kita harus terhubung ke bawah [...] yang ...
Ini bagus, berguna .... Terima kasih banyak.
Hi,
saya menggunakan script ini dan bekerja dengan baik bagi saya. tetapi hanya memasukkan 237 record dalam tabel mysql sementara di file csv Total ada 437 catatan.
Tinggalkan balasan