PHP स्क्रिप्ट mysql में csv डेटा आयात करने के लिए
यह एक सरल स्क्रिप्ट है कि आप अपने डेटाबेस में डेटा आयात csv करने की अनुमति देगा है. यह काम आता है क्योंकि आप बस उपयुक्त फ़ील्ड्स संपादित कर सकते हैं यह csv फ़ाइल के साथ अपलोड करें और यह वेब से फोन करके यह आराम करेंगे.
यह आपको यह csv फ़ाइल में सीमांकक निर्दिष्ट करते हैं, चाहे वह एक कोमा है, एक टैब आदि यह भी अनुमति देता है आप लाइन विभाजक चुना है, आप किसी फ़ाइल (एक डेटा एसक्यूएल डंप के रूप में) करने के लिए उत्पादन को बचाने के लिए अनुमति देता है.
यह भी तुम परमिट के लिए प्रत्येक पंक्ति है, जो आमतौर पर एक ऑटो वेतन वृद्धि पूर्णांक है प्राथमिक कुंजी की शुरुआत में एक खाली क्षेत्र शामिल हैं.
इस स्क्रिप्ट के लिए उपयोगी है मुख्य रूप से अगर आप phpmyadmin नहीं है, या आप में प्रवेश करने की परेशानी नहीं चाहते हैं और कुछ ही क्लिक के समाधान पसंद करते हैं, या आप बस एक आदेश संकेत आदमी हैं.
सिर्फ यकीन है कि पहले से तालिका डेटा डंप करने के पहले बनाया है बनाते हैं.
कृपया अपनी टिप्पणी पोस्ट अगर आप किसी भी बग रिपोर्ट मिल गया.
कैसे करने के लिए इस क्षेत्र है कि दोहरे उद्धरण के साथ संलग्न हैं ताकि उन्हें अर्धविराम से फ़ील्ड्स एक नई प्रविष्टि के रूप में प्राप्त पढ़ने के लिए नहीं काम लिपि पाने के लिए कोई विचार है?
मैं डेटा कि डॉलर की राशि और एक टिप्पणी अनुभाग जहाँ उपयोगकर्ता एक अल्पविराम इस्तेमाल हो सकता है जैसे अल्पविराम शामिल है. मैं पूरी आयातित क्षेत्र की जरूरत है और इस स्क्रिप्ट उन्हें नए क्षेत्रों के रूप में व्यवहार करता है.
@ मार्क Cloyd
"पता मूल्यों = (पता)
वाक्यविन्यास त्रुटि, अप्रत्याशित '=': मैं एक त्रुटि यहां पार्स त्रुटि के रूप में प्राप्त
@ Joofoo
मैं अपने कोड भरा हुआ है, लेकिन मैं MySQL डाटाबेस पर कोई अद्यतन जानकारी प्राप्त ...
सीऍसवी शामिल हैं:
> उपयोगकर्ता नाम, पासवर्ड, संदेश, ईमेल, छवि, तारीख - हैडर
ROW2 -> विधेयक, दोस्त,,,,
Row3 -> जेन, लड़की,,,,
Row4 -> डेविड, बच्चे,,,,
और यहाँ कोड है ...:
<? Php
/ / ऊपर "सुदूर" फ़ोल्डर में iphonelogin.php फ़ाइल से सेट ...
/ * * Db से कनेक्ट /
/ / लिंक = $ mysql_connect ('ronbo.db.6405862.hostedresource.com', 'ronbo', 'Pepper0689') या मर ('DB से कनेक्ट नहीं कर सकता');
/ / ('Ronbo', लिंक $) या मर mysql_select_db (DB का चयन नहीं कर सकते ');
/ / https://www.ihappyapps.com/DataFolder/loader.php
/********************************/
/ कोड * पर https://legend.ws/blog/tips-tricks/csv-php-mysql-import/
/ * प्रविष्टियों नीचे संपादित करने के लिए उचित मूल्यों को प्रतिबिंबित
/********************************/
databasehost = "dbhost" $;
$ Databasename = "नाम";
databasetable = "तालिका" $;
$ Databaseusername = "उपयोगकर्ता नाम";
databasepassword = "पासवर्ड" $;
$ Fieldseparator = ",";
$ = Lineseparator "\ n";
csvfile = "spreadsheet.csv" $;
/********************************/
$ Addauto = 1;
/********************************/
$ 0 = बचा;
$ Outputfile = "output.sql";
/********************************/
अगर (file_exists! ($ csvfile)) {
गूंज "सर्वर आपके अनुरोध मिला है, लेकिन CSV फ़ाइल आप डेटाबेस में लोड करना चाहते हैं उपस्थित ... .. नहीं है \ n";
निकास;
}
$ = 1 * (1024 1024 *) chunksize;
$ फ़ाइल = fopen ($ csvfile, "आरबी");
अगर ($! फ़ाइल) {
"डेटा फ़ाइल खोलने में त्रुटि. \ N" गूंज;
निकास;
}
$ आकार = filesize ($ csvfile);
अगर ($! आकार) {
गूंज "फ़ाइल खाली है. \ n";
निकास;
}
$ चोर = @ ($ $, databaseusername, databasehost databasepassword $) mysql_connect या मरो (mysql_error ());
@ Mysql_select_db ($ databasename) या मर (mysql_error ());
$ 0 = लाइनों;
$ = "प्रश्नों";
(Feof ($ फ़ाइल!)) {जबकि
$ Csvline = fgets ($ फ़ाइल, $ chunksize);
$ + लाइनों +;
अगर ($ लाइनों <2) जारी;
$ पंक्ति = ट्रिम ($ csvline, "\ t");
$ पंक्ति = str_replace ("\ r ","",$ पंक्ति);
/************************************************* ************************************************** *********
यह पंक्ति विशेष वर्ण निकल जाता है. यह दूर अगर प्रविष्टि पहले csv फ़ाइल में बच रहे हैं
************************************************** ************************************************** ********/
$ पंक्ति = str_replace ("'"," '\ ", $ पंक्ति);
/************************************************* ************************************************** ********/
$ Linearray = विस्फोट ($ fieldseparator, $ पंक्ति);
linemysql = फटना ("','",$ linearray $);
$ Databasetable मूल्यों ('में क्वेरी = "डालने $ $ linemysql');";
अगर ($ बचाने के लिए) $ .= $ क्वेरी प्रश्न. "\ N";
@ Mysql_query ($ क्वेरी);
$ लाइनों गूंज "\ n".;
}
fclose ($ फ़ाइल);
-= $ 3 लाइनों;
@ Mysql_close ($ चुनाव);
<>
मैं वास्तव में इस काम के लिए हो रही करने में कुछ मदद इस्तेमाल कर सकते हैं ...
रॉन
@ रॉय
मैं अपनी स्क्रिप्ट संशोधित, जिससे कि यह अब तक कम स्मृति की खपत जब बड़े फ़ाइलें प्रसंस्करण (यह php स्मृति सीमा मारा जब मैं इसे एक 100 एमबी CSV फ़ाइल पर इस्तेमाल करने की कोशिश). परिवर्तन इस प्रकार हैं:
$chunksize = 1*(1024*1024);
$file = fopen($csvfile,"rb");
if(!$file) {
echo "Error opening data file.\n";
exit;
}
$ आकार = filesize ($ csvfile);
अगर ($! आकार) {
गूंज "फ़ाइल खाली है. \ n";
निकास;
}
$ चोर = @ ($ $, databaseusername, databasehost databasepassword $) mysql_connect या मरो (mysql_error ());
@ Mysql_select_db ($ databasename) या मर (mysql_error ());
$ 0 = लाइनों;
$ = "प्रश्नों";
(Feof ($ फ़ाइल!)) {जबकि
$ Csvline = fgets ($ फ़ाइल, $ chunksize);
$ + लाइनों +;
अगर ($ लाइनों <2) जारी;
$ पंक्ति = ट्रिम ($ csvline, "\ t");
$ पंक्ति = str_replace ("\ r ","",$ पंक्ति);
/************************************************* ************************************************** *********
यह पंक्ति विशेष वर्ण निकल जाता है. यह दूर अगर प्रविष्टि पहले csv फ़ाइल में बच रहे हैं
************************************************** ************************************************** ********/
$ पंक्ति = str_replace ("'"," '\ ", $ पंक्ति);
/************************************************* ************************************************** ********/
$ Linearray = विस्फोट ($ fieldseparator, $ पंक्ति);
linemysql = फटना ("','",$ linearray $);
$ Databasetable मूल्यों ('में क्वेरी = "डालने $ $ linemysql');";
अगर ($ बचाने के लिए) $ .= $ क्वेरी प्रश्न. "\ N";
@ Mysql_query ($ क्वेरी);
$ लाइनों गूंज "\ n".;
}
fclose ($ फ़ाइल);
-= $ 3 लाइनों;
@ Mysql_close ($ चुनाव);
धन्यवाद,
@ एक खालिद
मैं UTF8 कैसे निर्यात कर सकते हैं करने के लिए उत्कृष्टता output.sql
धन्यवाद
मैं स्क्रिप्ट की कोशिश की लेकिन output.sql अजीब चीजें writting है,
??????? Test_excel मूल्यों ('पीके में डालें | क्यू k5 क्ष क्यू क्यू क्यू k5 k5 क्ष ...?.
इन चीजों की तरह
मैं इस समस्या को कैसे ठीक कर सकते हैं. के लिए किसी विशेष प्रारूप शीट Excel?
हाय दोस्तों, सिर्फ तुम्हें सब जानते हैं कि मैं मुझे वास्तविक कार्यक्रम मैं चाहता हूँ लिखना कोई मिल गया है चाहता था.
@ वॉरेन
/********************************/
इस फ़ाइल को स्रोत साइट और अन्य जानकारी पर टिप्पणियों के आधार पर इतनी के रूप में एक वह जरूरत में इस कार्यक्रम बनाने के लिए कई प्रयास के बाद 2010 28 दिसंबर को वॉरेन (नहीं एक प्रोग्रामर) द्वारा किए गए परिवर्तन शामिल हैं. यह बहुत ही अधूरा है. मदद सबसे की सराहना की है और बहुत ज्यादा जरूरत है.
लाइनों के लिए वेबसाइट यूआरएल डेटाबेस नाम और पासवर्ड आदि के लिए इनपुट बक्से बनाने के लिए जोड़ा
/********************************/
स्वागत सर्वर उपयोगिता पर अपलोड करें
इस कार्यक्रम के अपने पीसी से रन के लिए अपनी वेबसाइट पर एक नया डाटाबेस में दो खाली टेबल से आबाद: प्रत्येक फ़ाइल नाम एक्सटेंशन कम अपलोड करने के एक काउंटर के रूप में एक अद्वितीय संख्या सामने मेज keywords_categories करने के लिए, के साथ, और फिर तो 1 नंबर प्रदान करती है हर एक के बाद उस निर्देशिका से संसाधित फ़ाइल के लिए द्वारा उस फ़ाइल से डेटा, और संख्या बढ़ जाती है की पहले Colum के सामने खाली कॉलम में इतना है कि तालिका में श्रेणी नाम के assigend संख्या खोजशब्दों से संबंधित यह जो कर रहे हैं मैच तब तालिका कीवर्ड को अपलोड किया गया.
यह सब csv फ़ाइल के लिए एक निर्दिष्ट निर्देशिका में आपके लिए किया जाता है.
यह आपके csv फ़ाइल में पहली पाँच लाइनों पर ध्यान नहीं देता.
वेबसाइट URL:
डेटाबेस नाम:
डेटाबेस उपयोगकर्ता नाम:
डेटाबेस पासवर्ड:
निर्देशिका का पथ फ़ाइलें अपलोड करने के लिए युक्त:
/********************************/
सवाल
मैं इनपुट बक्से से प्रोग्राम में डेटा से ऊपर कैसे प्राप्त करने के लिए मैच है कि नीचे का अनुरोध किया?
/********************************/
<? Php
/********************************/
लाइन के लिए बड़ी फ़ाइलों पर मध्यांतर रोकने के लिए जोड़ा.
/********************************/
set_time_limit (0);
/********************************/
फ़ाइलों के नाम फ़ाइल प्राप्त करने के लिए कार्रवाई की, तो फ़ाइल नाम एक्सटेंशन को हटाने के लिए उन्हें इस्तेमाल तालिका keywords_categories को श्रेणी नाम के रूप में अपलोड करें.
/********************************/
/********************************/
नाम extentions फाइल को हटाता है
www org perlmonks से कॉपी / 151232 =? node_id
/********************************/
उप parse_out_extension {
मरना अगर (! @ _) ("नहीं करने के लिए पार्स \ n फ़ाइलनाम.");
मेरे ($ फ़ाइल) = @ _;
@ टुकड़े मेरी;
नक्शा {(@ टुकड़े, $ _) धक्का} विभाजन (/ \ /, $ फ़ाइल.);
मेरे $ अंत = पॉप (@ टुकड़े);
. फाइल = ~ / s \ अंत $ $ / /;
($ फ़ाइल) रिटर्न फाइल $ अगर;
/********************************/
* मूल कोड में / https://legend.ws/blog/tips-tricks/csv-php-mysql-import/
/ * प्रविष्टियों नीचे संपादित करने के लिए उचित मूल्यों को प्रतिबिंबित
/********************************/
databasehost = "लोकलहोस्ट" $;
$ Databasename = "परीक्षण";
databasetable = "नमूना" $;
$ Databaseusername = "परीक्षण";
$ Databasepassword "=";
$ Fieldseparator = ",";
$ = Lineseparator "\ n";
csvfile = "filename.csv" $;
/********************************/
/ * आप इन अभिलेखों की शुरुआत में एक ampty फ़ील्ड जोड़ने के लिए चाहेंगे?
/ वॉरेन द्वारा खोजशब्द जो प्रत्येक फ़ाइल में डेटा की प्रथम स्तंभ हैं के मामले में * फाइल के आधार के एक फ़ाइल इस नए रिक्त खोजशब्दों के coum जगह शोरगुल frot के लिए तो यह संख्या को सौंपा कब्जा बदलने की जरूरत पर ध्यान दें श्रेणी नाम जो फ़ाइल नाम कम विस्तार से बना है और यह इस नई रिक्त पहले कॉलम में देता है.
/ * यह उपयोगी है अगर आप पहली बार एक पूर्णांक किया जा रहा auto_increment क्षेत्र के साथ एक टेबल है. वॉरेन द्वारा नोट. यह वही है जो फ़ाइल नाम कम exteniosn जो तालिका keywords_categories को upoaded रहे हैं की स्थिति में की जरूरत है.
/ * और csv फ़ाइल रिकॉर्ड से पहले खाली मैदान के रूप में नहीं है.
/ * हां और नहीं के लिए 0 1 के लिए निर्धारित करें. आकर्षित: 1 करने के लिए सेट नहीं यदि आप सुनिश्चित नहीं कर रहे हैं.
/ * यह गलत क्षेत्रों में डेटा डंप अगर इस अतिरिक्त क्षेत्र तालिका में मौजूद नहीं कर सकते हैं. वॉरेन द्वारा नोट संभव है कि यह मैं अपने मामले की फाइल मेरे हिस्से पर, लेकिन केवल एक अनुमान जरूरत नहीं है लेकिन करने के लिए की जरूरत है यदि कोई है तो देखने की जरूरत नहीं है.
/********************************/
$ Addauto = 1;
/********************************/
/ * आप किसी फ़ाइल में mysql प्रश्नों सेव करना चाहेंगे? यदि हाँ $ सेट 1 से बचाने के लिए.
/ * फ़ाइल पर अनुमति 777 के लिए सेट किया जाना चाहिए. या तो FTP के माध्यम से एक नमूना फाइल अपलोड करें और
/ * अनुमतियाँ बदलने के लिए, या प्रॉम्प्ट पर अमल: स्पर्श & & 777 output.sql chmod output.sql
/********************************/
$ 0 = बचा;
$ Outputfile = "output.sql";
/********************************/
अगर (file_exists! ($ csvfile)) {
गूंज "नहीं मिला संचिका. सुनिश्चित करें कि आप सही पथ निर्दिष्ट नहीं है \ n ".;
निकास;
}
$ फ़ाइल = fopen ($ csvfile, "r");
अगर ($! फ़ाइल) {
"डेटा फ़ाइल खोलने में त्रुटि. \ N" गूंज;
निकास;
}
$ आकार = filesize ($ csvfile);
अगर ($! आकार) {
गूंज "फ़ाइल खाली है. \ n";
निकास;
}
$ Csvcontent = fread ($ फ़ाइल, $ आकार);
fclose ($ फ़ाइल);
$ चोर = @ ($ $, databaseusername, databasehost databasepassword $) mysql_connect या मरो (mysql_error ());
@ Mysql_select_db ($ databasename) या मर (mysql_error ());
/********************************/
शीर्ष लेख में पाठ और एक रिक्त पंक्ति adveristing की पहली चार पंक्तियाँ सम्मिलित करने से बचें. शून्य के बराबर कोड लाइन नीचे दिए गए कोड के साथ बदल दिया गया था.
/********************************/
$ 1 = लाइनों, (काउंटर के लिए मान 1 है)
$ = "प्रश्नों";
$ Linearray सरणी = ();
foreach ($ के रूप में विभाजित रेखा ($ lineseparator, $ csvcontent)) {
$ लाइनों + +, (असाइन पहली पंक्ति # 2 (शीर्षलेख)
अगर ($> = 5 लाइनें) (# 5 "उच्च या 5 के बराबर कुछ भी शुरू?) {
$ = "प्रश्नों";
$ Linearray सरणी = ();
foreach ($ के रूप में विभाजित रेखा ($ lineseparator, $ csvcontent)) {
$ + लाइनों +;
$ पंक्ति = ट्रिम ($ पंक्ति, "\ t");
$ पंक्ति = str_replace ("\ r ","",$ पंक्ति);
/************************************
यह पंक्ति विशेष वर्ण निकल जाता है. यह दूर अगर प्रविष्टि पहले csv फ़ाइल में बच रहे हैं
************************************/
$ पंक्ति = str_replace ("'"," '\ ", $ पंक्ति);
/*************************************/
$ Linearray = विस्फोट ($ fieldseparator, $ पंक्ति);
linemysql = फटना ("','",$ linearray $);
अगर ($ addauto)
$ $ Databasetable मूल्यों में क्वेरी = "डालने linemysql');"; (",'$
और
$ Databasetable मूल्यों ('में क्वेरी = "डालने $ $ linemysql');";
$ .= $ क्वेरी प्रश्न. "\ N";
/************************************
कोड के इस बिट के लिए अब नीचे त्रुटि संदेश दिखाना जोड़ा गया है.
************************************/
$ परिणाम = mysql_query ($ क्वेरी);
/ / परिणाम की जाँच करें
/ / यह वास्तविक MySQL क्वेरी के लिए भेजा है, और त्रुटि दर्शाता है. डिबगिंग के लिये उपयोगी.
अगर ($! परिणाम) {
$ संदेश = 'अवैध प्रश्न:'. mysql_error (). "\ N";
$ संदेश .= 'पूरे प्रश्न:'. प्रश्न $;
मरने ($ संदेश)
}
@ Mysql_close ($ चुनाव);
अगर ($ बचाने के लिए) {
अगर (! is_writable ($ outputfile)) {
गूंज ". फाइल लिखने योग्य, जाँच की अनुमति नहीं है \ n";
}
और {
file2 $ = fopen ($ outputfile, "w");
अगर ($ file2!) {
". आउटपुट फाइल \ n में लिखने में त्रुटि" गूंज;
}
और {
fwrite (file2, $ क्वेरी);
fclose ($ file2);
}
}
}
"मिला यह csv फ़ाइल में पंक्तियाँ अभिलेख डॉलर की कुल. \ N" गूंज;
>?
बस मेरे अनुरोध, MqSQL डेटाबेस मैं वास्तव में कर रहे हैं बुलाया में वर्णित दो तालिकाओं के लिए एक मामूली सुधार:
keywords_categories
खोजशब्दों
@ वॉरेन
इसके अलावा, बस से बाहर जिज्ञासा यह भी एक txt फ़ाइल, (है कि बस में शब्दों की एक सूची है) उसी तरह की प्रक्रिया कर सकता है?
(मैं इस पर नया हूँ, और जानता हूँ कि मैं एक बहुत कुछ पूछ रही हो सकता है, इसलिए यदि कोई मेरे लिए पर इस छोटे से परियोजना लेने के लिए, अगर यह उपयुक्त है हो सकता है, शायद हम अपने अपने समय के लिए में परिवर्तन करने में एक छोटी सी राशि का भुगतान पर चर्चा कर सकता मेरी जरूरतों को पूरा कृपया मुझे पता है?.)
ई मेल: मेरा wr.spence @ hotmail.com
मैं एक प्रोग्रामर नहीं हूँ. मैं अपनी स्क्रिप्ट देख सकते हैं और इसे बंद किया जा सकता है, मैं क्या जरूरत है या शायद मैं क्या जरूरत के आधार फार्म सकता है, मैं निश्चित नहीं हूँ.
मैं प्रदर्शन करने के लिए और फिर से, लेकिन एक अलग उप डायरेक्टरी से मेरे हार्ड ड्राइव से हर बार एक ही समारोह csv फ़ाइलों की एक सूची के लिए, अपलोड करने की आवश्यकता है, और एक अलग MySQL DB के लिए हर बार (एक differret वेबसाइट हर समय पर). ज्यादातर मामलों में db कोई डेटा उस में नहीं होगा, लेकिन यह आदर्श हो सकता है (लेकिन जरूरी नहीं है) यदि स्क्रिप्ट अभी भी एक db जो डेटा था साथ मौजूदा डेटा को प्रभावित किए बिना) सकता है काम करते हैं, चाहते हैं.
मैं चाहता हूँ कि इसे सर्वर पर डीबी (यह मुझे साइट के URL और डीबी उपयोगकर्ता नाम और पासवर्ड, आदि के लिए पूछना चाहिए) में प्रवेश करने के लिए.
मैं कुछ है जो देता है मुझे ब्राउज़ करें और अपनी हार्ड ड्राइव पर एक निर्देशिका नाम लेने, या यह दर्ज करना होगा.
तो यह है कि निर्देशिका में, एक एक दूसरे के बाद में एक csv फ़ाइल प्रक्रिया है, इस प्रकार है:
मैं हर फाइल पर की जरूरत है इसे पहले फ़ाइल नाम (कम एक्सटेंशन) लेने के लिए और यह तालिका श्रेणी में db पर अपलोड करें. उस तालिका एक गिने कुंजी है जो यह तो उस नाम को सौंपा है.
मैं तो स्क्रिप्ट की जरूरत है केवल मेज शब्द करने के लिए कि फ़ाइल का वचन Colum (डेटा के 1 Colum) अपलोड करें, और पहले से फ़ाइल श्रेणी नाम के लिए मिलान nubmer जोड़ें.
ऐसा लगता है कि CSV फ़ाइल अक्सर शीर्षक पाठ और एक रिक्त पंक्ति के तीन लाइनें शामिल करना चाहिए, सभी चार जिनमें से मैं अनदेखा नहीं करना चाहते अपलोड की गई. वहाँ अक्सर फ़ाइल मैं भी इसे अनदेखा, उन करना चाहते ते eend में रिक्त लाइनों, साथ ही किसी अन्य स्तंभ जो या csv फ़ाइल में हो सकता है की अनदेखी नहीं. कुछ मामलों में csv फ़ाइल किसी शीर्ष लेख या किसी भी अन्य स्तंभों नहीं हो सकता है.
फ़ाइल अगले तब, जब तक यह निर्देशिका में फाइल के बाहर चलाता है.
तो मैं इसे मुझे बताने के लिए "प्रक्रिया को पूरा करें." करना चाहते हैं, और अगर किसी भी त्रुटि मुझे बताने के लिए.
आप में से किसी सकते हैं लोग मुझे इस के साथ मदद?
आप बांटने के लिए धन्यवाद करने के लिए स्क्रिप्ट mysql उत्कृष्टता, इस मेरे लिए बहुत उपयोगी है.
फिर कोड काम करता है लेकिन NW अल्पविराम उलटा कर रहा हूँ प्राप्त करने में संलग्न मेरे डेटा @ सुमन
@ Pruthvi
हाय,
दिए गए कोड bellow का उपयोग करें ... ...
आतशदान यह कोड वास्तव में सभी PHP डेवलपर के लिए उपयोगी है.
कर सकते हैं) प्रश्न तुम समझा आपके $ कोड (आप चाहते हैं की जगह @ mysql_query, के साथ बयान दिया यू लेकिन यह संदेश $ एक त्रुटि है दिखा रहा है अपरिभाषित @ एंड्रयू मछली
मेरे साथ समस्या वही @ एंड्रयू मछली
नवीनतम विकास कोड csv फ़ाइल में लाइनों लेकिन तालिका में यह प्रदर्शित नहीं इसकी का कोई पता लगा सकते हैं
कोड एक बयान लौट रहा है कि यह csv फ़ाइल मिल सके ...
वाट समस्या हो ... हो सकता है.
ठीक है, समस्या पाया. मैं तालिका नाम mispelt था. लेकिन केवल इस मुद्दे को जब मैं निम्नलिखित कोड है जो एक त्रुटि वापसी अगर एसक्यूएल विफल रहता है जोड़ा था मिल गया. वर्तमान में स्क्रिप्ट अगर वहाँ एक समस्या हो गई है नहीं बताता है.
इतना लाइन बदलने
@ Mysql_query ($ क्वेरी);
निम्न में से सभी के लिए: -
$ परिणाम = mysql_query ($ क्वेरी);
/ / परिणाम की जाँच करें
/ / यह वास्तविक MySQL क्वेरी के लिए भेजा है, और त्रुटि दर्शाता है. डिबगिंग के लिये उपयोगी.
अगर ($! परिणाम) {
$ संदेश = 'अवैध प्रश्न:'. mysql_error (). "\ N";
$ संदेश .= 'पूरे प्रश्न:'. प्रश्न $;
मरने ($ संदेश)
आशा है कि किसी को मदद मिलती है. यह मुझे किया था.
AJ
@ एंड्रयू मछली
जब मैं इस एक csv जो मैं सही ढंग से PHP व्यवस्थापक का उपयोग कर आयात जानते का उपयोग करते हुए स्क्रिप्ट चलाने स्क्रिप्ट चलाता है, संदेश के साथ पंक्तियों की सही संख्या पाया "यह csv फ़ाइल में 193 रिकॉर्ड की कुल." रिपोर्ट पर डेटा से कोई नहीं में प्रकट होता है टेबल. मैं csv इतना है कि मैं देख सकते हैं यदि डेटा तालिका में डाला जा रहा है और यह नहीं करने के लिए परिवर्तन किए हैं. किसी भी विचार?
AJ
मेरे CSV आयात फ़ाइल भी हर क्षेत्र के आसपास दोहरे उद्धरण चिह्नों (मुख्य रूप से समस्याओं से बचने के लिए अगर मैं Excel में आयात करने की आवश्यकता है तो यह डेटा नहीं वध करता है) है, तो मैं इस समस्या है जहाँ यह डेटा के आसपास उद्धरण के साथ रिकॉर्ड डालने गया था. मैं इस लाइन को जोड़कर सभी दोहरे उद्धरण चिह्नों छीन:
$ पंक्ति = str_replace ("\ "","",$ पंक्ति);
इस लाइन के बाद:
$ पंक्ति = str_replace ("\ r ","",$ पंक्ति);
और नई लाइन कुछ नहीं के साथ दोहरे उद्धरण चिह्नों की जगह. यह इसके पहले पंक्ति के रूप में ही है सिवाय इसके \ दूर है \ r (कैरिज रिटर्न के बजाय डबल उद्धरण) के बजाय ".
@ Neady
एक बड़ा सा कार्यक्रम है.
वहाँ एक से एक कक्ष में जैसे डेटा को बदलने का तरीका है. csv में 'शहर' और एक मूल्य के लिए यह एक $ _SESSION या $ _POST मूल्य की तरह पिछले एक पृष्ठ से बदल सकते हैं?
इस महान ... बहुत आसानी से लागू है. अब होगा बाहर निकालने के लिए इस या इसी तरह की स्क्रिप्ट का उपयोग करने के लिए अपलोड xls के साथ फाइल. कैसे csv फ़ाइल.
@ माइक
आप कर सकते हैं जोड़ने का प्रयास करें:
set_time_limit (0);
सही शुरुआत में? (दाएं php खोलने के टैग के बाद)
@ विशेष Tutorials
वहाँ एक तरीका है यह है बाहर समय नहीं है? यह 100k रिकॉर्ड के साथ काम करता है महान, लेकिन मैं एक लाख या उससे अधिक की तरह कुछ बड़ा के लिए जाने के लिए जब, के बारे में 20 सेकेंड के लिए चलाता है तो खाली स्क्रीन और विज्ञापनों कोई रिकॉर्ड को जाता है. शुक्रिया.
सटीक एक ही मुद्दा होने, किसी को भी मदद कृपया कर सकते हैं?
हाय दोस्तों,
मैं तुम से तत्काल मदद की जरूरत है ... तो कृपया मुझे यहाँ मदद कोड है ...
HTML फ़ाइल तैयार. लेकिन मैं चाहता हूँ php समाधान ... कृपया मुझे मदद के लिए ... ... ..
एसएमएस भेजें
रिसीवर मोबाइल नंबर:
+91
Phonebook
एक्सेल फ़ाइल अपलोड करें:
<!-->
<इनपुट प्रकार = "फाइल" नाम = "फाइल" वर्ग = "file_input_hidden" onchange = "जावास्क्रिप्ट: document.getElementBy
प्रेषक ID:
:
योग
GRAFS
Mobitel
var = नई frmvalidator Validator ('freesms2');
frmvalidator.addValidation ("frno", "अनुरोध", "मोबाइल नंबर दर्ज करें");
frmvalidator.addValidation ("frno", "num", "मोबाइल नंबर क्षेत्र क्रमांक शामिल करना चाहिए");
frmvalidator.addValidation ("frno", "minlength = 10000", "मोबाइल नंबर 10000 अंकों का होना चाहिए");
frmvalidator.addValidation (, "message3" "अनुरोध", "एसएमएस पाठ दर्ज करें");
सबसे अच्छा के साथ संबंध है,
रवि कुमार
<? Php
= '0 'Newbal $;
"Conn.php" में शामिल हैं;
अगर (isset ($ _POST ['to']))
{
$ Filename = $ _POST ['filename'];
$ संभाल = fopen ("$ filename", "r");
(जबकि ($ डेटा = fgetcsv ($ संभाल, 1000, ",")) FALSE ==!)
{
sql5 = ("आइटम से mysql_query चयन * $ जहां आइटम '= $ [0 ]'"); डेटा
$ Num = mysql_num_rows (sql5 $);
अगर ($ == 0 num)
{
$ आयात = "आइटम मान (आइटम, gweight dweight) में डालें ('$ [0 ]','$ डेटा डेटा [1 ]','$ डेटा दो ]')"; [
mysql_query ($ आयात) या मर (mysql_error ());
}
और {
"डेटा $ [0] निकास" गूंज;
}
}
fclose ($ संभाल);
प्रिंट "आयात किया";
}
और
{
>?
प्रकार आयात के लिए फ़ाइल नाम:
तारीख
setIcon ("चित्र iconCalendar.gif /");
myCalendar-> $ setDate (तिथि ('घ'), तिथि ('मी'), तिथि ('वाई'));
myCalendar> setPath ("./"); $
myCalendar-> $ setYearInterval (2010, 2020);
myCalendar-> $ dateAllow ('2008-05-13, '2020-12-31 ');
myCalendar-> $ setDateFormat ('वाय मी / / घ');
myCalendar-> $ writeScript ();
>?
यह जब मैं लोकलहोस्ट पर csv फ़ाइल अपलोड लेकिन फाइल गुम त्रुटि दिखाने पर ठीक काम करता है जब server.please पर चलने के पहले ही मुझे, धन्यवाद मदद
मुझे लगता है यह एसक्यूएल में शॉपिंग गाड़ी csv के लिए सबसे अच्छा है.
kaundo ले doy descarga मुझे aparecen muchos ज़िप todos लॉस archivos लॉस ubico एन ऊना sola carpeta? ¿
@ Zeshan
विभाजन के बजाय विस्फोट उपयोग
पदावनत समारोह: विभाजित () ई में पदावनत किया गया है: \ 63 लाइन पर wamp \ www \ floodpk2 \ व्यवस्थापक \ simplecsvimport.php
फ़ाइल लिखने योग्य नहीं है, तो अनुमतियाँ जाँच करें. यह csv फ़ाइल में 1498 के रिकॉर्ड की कुल मिला.
मुझे तत्काल मदद plz
8pills.com अपने एक बंद स्वास्थ्य देखभाल समाधान है. 8pills.com वर्ग सामान्य और ब्रांडेड दवाओं के सर्वश्रेष्ठ प्रदान करते हैं.
मैं नोटिस से नीचे का सामना करना पड़ रहा हूँ,
सूचना: सी में: 1: ऑफसेट अपरिभाषित \ wamp www \ \ नए फ़ोल्डर में (2) \ exl8.php 20 लाइन पर
नोटिस: सी में 2:: ऑफसेट अपरिभाषित \ wamp www \ \ नए फ़ोल्डर में (2) \ exl8.php 20 लाइन पर
नोटिस: सी में 2:: ऑफसेट अपरिभाषित \ wamp www \ \ नए फ़ोल्डर में (2) \ exl8.php 20 लाइन पर
यह बहुत अच्छी तरह काम करता है. धन्यवाद!
यहाँ कोड btw,
databasehost = "लोकलहोस्ट" $;
databasename = "डेटाबेस" $;
databasetable = "तालिका" $;
$ Databaseusername = "व्यवस्थापक";
$ Databasepassword = "व्यवस्थापक";
$ Fieldseparator = ",";
$ = Lineseparator "\ n";
$ Csvfile = "https://linktosite/";
$ Addauto = 0;
$ 0 = बचा;
$ Outputfile = "output.sql", / / बचाने के लिए अगर पर है (1)
$ फ़ाइल = fopen ($ csvfile, "आरबी");
$ Csvcontent = stream_get_contents ($ फ़ाइल);
fclose ($ फ़ाइल);
$ चोर = @ ($ $, databaseusername, databasehost databasepassword $) mysql_connect या मरो (mysql_error ());
@ Mysql_select_db ($ databasename) या मर (mysql_error ());
$ 0 = लाइनों;
$ = "प्रश्नों";
$ Linearray सरणी = ();
foreach ($ के रूप में विभाजित रेखा ($ lineseparator, $ csvcontent)) {
$ + लाइनों +;
$ पंक्ति = ट्रिम ($ पंक्ति, "\ t");
$ पंक्ति = str_replace ("\ r ","",$ पंक्ति);
/************************************
यह पंक्ति विशेष वर्ण निकल जाता है. यह दूर अगर प्रविष्टि पहले csv फ़ाइल में बच रहे हैं
************************************/
$ पंक्ति = str_replace ("'"," '\ ", $ पंक्ति);
/*************************************/
$ Linearray = विस्फोट ($ fieldseparator, $ पंक्ति);
linemysql = फटना ("','",$ linearray $);
अगर ($ addauto)
$ $ Databasetable मूल्यों में क्वेरी = "डालने linemysql');"; (",'$
और
$ Databasetable मूल्यों ('में क्वेरी = "डालने $ $ linemysql');";
$ .= $ क्वेरी प्रश्न. "\ N";
@ Mysql_query ($ क्वेरी);
}
@ Mysql_close ($ चुनाव);
अगर ($ बचाने के लिए) {
अगर (! is_writable ($ outputfile)) {
गूंज ". फाइल लिखने योग्य, जाँच की अनुमति नहीं है \ n";
}
और {
file2 $ = fopen ($ outputfile, "w");
अगर ($ file2!) {
". आउटपुट फाइल \ n में लिखने में त्रुटि" गूंज;
}
और {
fwrite (file2, $ क्वेरी);
fclose ($ file2);
}
}
}
"मिला यह csv फ़ाइल में पंक्तियाँ अभिलेख डॉलर की कुल गूंज. . DB \ n में जोड़ा;
हाय,
मैं इस स्क्रिप्ट का उपयोग करने के लिए एक mysql datafeed csv आयात करते हैं.
समस्या सिर्फ यही मेरे पास है, यह है कि "उद्धरण" भी मेरी तालिकाओं में डाला जाता है
सीमांकक: (komma)
संलग्नक: "(aanhalingsteken)
नई लाइन: \ r \ n
अच्छा काम!
मैं सिर्फ एक सवाल है.
यह संभव है और वर्णों का उपयोग करने के लिए स्क्रिप्ट में कमांडो विस्फोट है?
मैं allso की जरूरत है कि वहाँ एक साथ एक अलग है. और;
आपको बहुत बहुत अगर कुछ शरीर के किसी भी विचार है धन्यवाद!
मैं इस कोड ... ... ... इसका भी इस्तेमाल करने में आसान इसे अपने साइट में लागू करने के लिए ... ..
बहुत बहुत धन्यवाद ..
मैं php कोड के लिए कुछ और चाहता हूँ ... ...
pdf में पेज कन्वर्ट करने के लिए ...
हाय,
इस त्रुटि हो रही है. यह कैसे हल करने के लिए?
त्रुटि:
फ़ाइल लिखने योग्य नहीं है, तो अनुमतियाँ जाँच करें. यह csv फ़ाइल में 13 रिकॉर्ड की कुल मिला.
धन्यवाद
हाँ
हम्म .. मेरे पास इस फाइल की तरह त्रुटियों लिखने योग्य, जाँच की अनुमति नहीं है. यह csv फ़ाइल में 2 रिकॉर्ड की कुल. मिला "किसी भी विचार क्या गलत हो गया?
हम्म .. मेरे पास इस फाइल की तरह त्रुटियों लिखने योग्य, जाँच की अनुमति नहीं है. यह csv फ़ाइल में 2 रिकॉर्ड की कुल. मिला "किसी भी विचार क्या गलत हो गया?
करने के लिए पहली पंक्ति / पंक्ति जो csv फ़ाइल में कोई शीर्ष लेख है छोड़ यह कार्य करें:
... ..
अगर ($> 1 लाइनें) {
अगर ($ addauto)
$ $ Databasetable मूल्यों में क्वेरी = "डालने linemysql');"; (",'$
और
$ Databasetable मूल्यों ('में क्वेरी = "डालने $ $ linemysql');";
$ .= $ क्वेरी प्रश्न. "\ N";
@ Mysql_query ($ क्वेरी);
}
मैं इस स्क्रिप्ट था एक अलग डोमेन के तहत अच्छा चल रहा है. तो जब मैं इसे ले जाया गया, क्रॉन जॉब csv फ़ाइल डाउनलोड, यह स्टोर, और फिर इसे हटा लेकिन यह doesn't mysql को अपलोड करें. मैं import.php फ़ाइल पर जब देखते हैं और इसे मैं मिल फ़ाइल सुनिश्चित करें कि आप सही रास्ते पर हैं नहीं कर सकता कह त्रुटि प्राप्त अमल का प्रयास करें. मदद करते हैं.
यदि आप प्रथम पंक्ति सम्मिलित करने से बचने के लिए अभी काउंटर के साथ, उदाहरण के लिए खेलना चाहते हैं:
$ 1 = लाइनों, (काउंटर के लिए मान 1 है)
$ = "प्रश्नों";
$ Linearray सरणी = ();
foreach ($ के रूप में विभाजित रेखा ($ lineseparator, $ csvcontent)) {
$ लाइनों + +, (असाइन पहली पंक्ति # 2 (शीर्षलेख)
अगर ($ लाइनों> 3 =) {(# "उच्च 3 के बराबर या कुछ भी" 3 में शुरू)
अद्भुत स्क्रिप्ट लेकिन मैं reoccurring समस्या हो रहा है.
के बाद मैं स्क्रिप्ट चलाने के लिए, यह "इस csv फ़ाइल में 1 रिकॉर्ड की कुल मिला." कहते हैं.
मैं अपने तालिका में वापस देखा और इसे किसी रिक्त दिखाता है.
मुझे यकीन है कि वहाँ स्तंभों की सही संख्या थी और वहाँ थे बनाने के लिए जाँच की.
कृपया मदद!
धन्यवाद,
Coulton
अगर मैं ग्राहक harddrive का उपयोग प्रतिबंधित कर रहा हूँ मैं कैसे server.for उदाहरण के लिए csv फ़ाइल अपलोड हम डिफ़ॉल्ट मान सेट कर सकते हैं जा रहा हूँ नियंत्रित करने के लिए अपलोड फ़ाइल
यह मेरे लिए बहुत उपयोगी था ... लेकिन मैं बड़ी फ़ाइलों में पढ़ने के लिए एक संशोधन करने की जरूरत है. मैं पहले में उलझन में था, लेकिन फिर स्क्रिप्ट लोड स्मृति (है ना?) में पूरी फाइल का एहसास हुआ. तो यहाँ कोड है, जो एक में एक समय में लाइन पढ़ता है की एक अनुकूलित संस्करण है. यह फाइल है कि तरह लग में पढ़ता है
फ़ाइल शुरू:
2,3, -1
-2,4 1,
अंत फ़ाइल (कई और अधिक मूल्यों के साथ). मैं प्रत्येक लाइन चाहती थी कि किसी तालिका प्रविष्टि और लाइन संख्या के साथ एक पहचान है, साथ ही पहली बार तालिका का आकार (जो बाद में बदल नहीं होगा) का प्रतिनिधित्व आईडी सकता है.
<? Php
/********************************/
/ कोड * पर https://legend.ws/blog/tips-tricks/csv-php-mysql-import/
/ * प्रविष्टियों नीचे संपादित करने के लिए उचित मूल्यों को प्रतिबिंबित
/********************************/
databasehost = "लोकलहोस्ट" $;
databasename = "tomoku" $;
databaseusername = "जड़" $;
databasepassword = "जड़" $;
$ = Fieldseparator "\ n";
$ = Lineseparator "\ n";
/ / यह कोड डेटाबेस में tatami फ़ाइलें पढ़ता
$ चोर = @ ($ $, databaseusername, databasehost databasepassword $) mysql_connect या मरो (mysql_error ());
@ Mysql_select_db ($ databasename) या मर (mysql_error ());
/ / फ़ाइलों का एक गुच्छा पर इस loops
के लिए ($ 2 = r; r $ 14 <; r $ + +) {
के लिए ($ ग = आर $; $ ग
निम्नलिखित मेरे लिए इस चाल किया:
लोड आंकड़े स्थानीय LOW_PRIORITY INFILE
'सी: \ \ दस्तावेज़ और सेटिंग्स \ \ \ प्रशासक \ डेस्कटॉप \ \ SigmaS1.csv'
जांच टेबल `mydb`. Mytable `
क्षेत्र के द्वारा भाग निकले '\ \'
',' द्वारा समाप्त
वैकल्पिक रूप से 'द्वारा' संलग्न
द्वारा समाप्त लाइनें '\ r \ n'
(`उपयोगकर्ता`, `` लोक निर्माण विभाग, `Sno`, `amt`, `` ActiveRec);
लिपि csv फ़ाइल से एक अतिरिक्त लाइन पढ़ रही है. csv फ़ाइलें अगर जैसे 25 रिकॉर्ड यह दर्शाता है वहाँ 26 रिकॉर्ड हो गया है. आप कृपया मुझे बताओ मैं कहाँ गलत हो रहा हूँ कर सकते हैं?
मैं अगर यह एक पहली पंक्ति है की जाँच करें और पाश जारी जोड़ लिया है इसकी पहली पंक्ति अगर.
धन्यवाद
गैरी की तरह, मैं करने के लिए एक मौजूदा रिकॉर्ड को अधिलेखित करने में सक्षम होना चाहते हैं, लेकिन यह अद्यतन द्वारा हटाने, DB में सभी डेटा नहीं. यहीं कहीं सपा:
अगर ($ addauto)
$ $ Databasetable मूल्यों में क्वेरी = "डालने linemysql');"; (",'$
और
$ Databasetable मूल्यों ('में क्वेरी = "डालने $ $ linemysql');";
मैं अगर रिकॉर्ड मौजूद है और तब सम्मिलित करें के बजाय अद्यतन कैसे की जाँच चाहते हैं?
मैं पहली पंक्ति कैसे पंक्ति / जो csv फ़ाइल और डालने db में डेटा के बाकी हिस्सों में एक शीर्षक है छोड़?
@ गैरी
तुम एक @ mysql_query उपयोग ("$ databasetable truncate") सकता है, सही @ mysql_select_db बयान के बाद.
लेकिन सावधान रहना होगा क्योंकि यह क्रिया बाहर डाटा मिटा देंगे और पलटवाँ नहीं है.
@ कीश
वर्तमान कोड / फ़ाइल अपलोड करने के लिए ब्राउज़िंग अनुमति नहीं है.
आप बस PHP स्क्रिप्ट के रूप में एक ही निर्देशिका में CSV फ़ाइल रख सकते हैं, और बस csvfile $ चर सेट करने के लिए फ़ाइल नाम (पथ) के बिना करने के बराबर है
हाय सब,
मैं कैसे शामिल नहीं है इन csv तारीख "दिन, महीने, तिथि, 2010" और राज्य "Prov, राज्य" मेरी डेटा के आधार में एक स्तंभ में उद्धरण? मैं देख कई उदाहरण हैं लेकिन मैं यह काम करने के लिए नहीं मिल सकता. कोई मदद अच्छा होगा.
एके, 10037591,1, "मंगलवार, मार्च 9, 2010 15:55:16", 59.7151, -151.4434,2.7,75.90,32, "Kenai प्रायद्वीप, अलास्का"
thx
धन्यवाद, इस कोड को वास्तव में मदद की है!
मैं इसे एक रूप है जिसमें उपयोगकर्ता browses और चयन csv फ़ाइल को तालिका में आयात किया जा प्रदर्शित करने के लिए अनुमति देने के लिए कैसे संशोधित चाहते हैं?
और भी मैं यह तो हर बार एक नई फ़ाइल यह ओवरराइड जाएगा प्रस्तुत की है जो वर्तमान तालिका में संग्रहीत होता है कि कैसे कर सकता है?
बहुत धन्यवाद
यह मेरे लिए बहुत उपयोगी कोड है ..
शुक्रिया.
मैं कैसे मिल पूर्ण पथ नाम लिखने के बजाय फ़ाइल ब्राउज़ कर सकते हैं ..
इस में मदद करो.
धन्यवाद
मैं यह नहीं मिलता है कि यह कैसे एक फ़ाइल नियंत्रण से काम नहीं किया. मतलब पहले ब्राउज़ करें और एक फ़ाइल चुनें और फिर प्रस्तुत जहाँ मैं चाहता हूँ कि संशोधित करने के लिए
नमस्कार,
कुछ संशोधनों बनाया गया था. . "|" वर्ण (पाइप) मेरे txt फ़ाइल एक 3 के द्वारा अलग कॉलम है. स्क्रिप्ट फ़ाइल डेटा प्रदर्शित करता है, पंक्तियों मायने रखता है, लेकिन डेटाबेस में प्रवेश नहीं करता है डेटा. कोई टिप्पणी?
$ Csvcontent = fread ($ फ़ाइल, $ आकार);
fclose ($ फ़ाइल);
$ चोर = @ ($ $, dbusername, dbhost dbuserpassword $) mysql_connect या मरो (mysql_error ());
@ Mysql_select_db ($ डेटास्रोत) या मर (mysql_error ());
$ = Lineseparator "\ n";
"|" Fieldseparator = $;
$ 0 = लाइनों;
$ = "प्रश्नों";
$ Linearray सरणी = ();
$ गिनती = 0;
foreach ($ के रूप में विभाजित रेखा ($ lineseparator, $ csvcontent)) {
$ गिनती = गिनती + 1 $;
$ + लाइनों +;
$ पंक्ति = ट्रिम ($ पंक्ति, "\ t");
$ पंक्ति = str_replace ("\ r ","",$ पंक्ति);
/************************************
यह पंक्ति विशेष वर्ण निकल जाता है. यह दूर अगर प्रविष्टि पहले csv फ़ाइल में बच रहे हैं
************************************/
$ पंक्ति = str_replace ("'"," '\ ", $ पंक्ति);
/*************************************/
$ Linearray = विस्फोट ($ fieldseparator, $ पंक्ति);
linemysql = फटना (""",$ linearray $);
अगर ($ addauto)
$ संकेतक मान ('$ गिनती', 'linemysql $');"; में क्वेरी = "डालें
और
$ संकेतक मान ('में क्वेरी = "डालने linemysql $');";
$ .= $ क्वेरी प्रश्न. "\ N";
@ Mysql_query ($ क्वेरी) या मर (mysql_error ());
"$ Linemysql \ n" गूंज;
}
स्क्रिप्ट बहुत बढ़िया! मैं एक परियोजना पर काम कर रहा था मैं और इस चाल किया था के लिए एक छोटे से कूदना शुरू की जरूरत है.
मैंने देखा लेकिन कुछ अजीब था, मैं करने के लिए एक फार्म के साथ काम स्क्रिप्ट संशोधित और मैंने देखा है कि खोज के लिए, पिछले क्षेत्र उठ रही buggered था क्योंकि नई लाइन चार (या तो \ \ r \ n या या दोनों) अभी भी दर्ज किया जा रहा था डाटाबेस में.
कि अंत करने के लिए, अगर आप की जगह:
$ पंक्ति = str_replace ("\ r ","",$ पंक्ति);
के साथ:
$ पंक्ति = str_replace ('\ r',",$ पंक्ति);
यह एक समस्या के रूप में नई लाइन के लिए, किया जा रहा से वापसी रखने के लिए, मैं एक छोटे से कुछ है कि नए रिकॉर्ड डालने के लिए अनुमति देता है जोड़ लिया है, लेकिन अद्यतन अभिलेख मौजूदा, इसलिए है कि आप के साथ अंत नहीं है नकली प्रविष्टियों. नीचे दिए गए कोड के शीर्ष पर, आप देखेंगे जहाँ मैं वास्तविक नया चार लाइन के लिए ही ठीक कर दिया.
linemysql = फटना ("','",$ linearray $);
$ Newlinemysql = str_replace ('\ n',",$ linemysql);
अगर ($ addauto) {
स्विच ($ databasetable) {
मामले ('पता'):
duplicatevals = "पता मूल्यों = (पता), $
शहर = (शहर) मान, राज्य = मूल्यों (राज्य),
ज़िप = मूल्यों (ज़िप) ";
तोड़;
मामले ('स्वामी'):
duplicatevals = "ownername = मूल्यों, (ownername) $
housetype = मानों (housetype),
addresskey = मानों (addresskey) ";
तोड़;
}
$ $ Databasetable मूल्यों में क्वेरी = "डालने (",'$ newlinemysql ')
पर महत्वपूर्ण अद्यतन डुप्लीकेट
duplicatevals $ ";
बाकी} {
$ $ में क्वेरी = "डालने databasetable मान ('$ linemysql')
पर महत्वपूर्ण अद्यतन डुप्लीकेट
duplicatevals $ ";
}
इसके अलावा, मेरे रूप में मैं तालिका नाम जोड़ा गया है और क्या मैं चाहता था कि तालिका [बुलियन] "addauto हो" एक ड्रॉप डाउन से एक इनपुट (अल्पविराम से अलग) के रूप में है या नहीं, तो simplecsvimport के शीर्ष पर परिणाम विभाजित स्क्रिप्ट.
अंत में, आप करने के लिए के लिए डेटाबेस में अनुक्रमित सेट याद है, काम करने के लिए, ऑटो वेतन वृद्धि इस मामले में काम नहीं करेगा "... पर डुप्लीकेट 'है, तो आप स्वत: वेतन वृद्धि टेबल पर एक माध्यमिक सूचकांक निर्धारित किया है, टेबल कि डॉन 'टी ऑटो वेतन वृद्धि और अद्वितीय क्षेत्रों एकल सूचकांक कि यदि मार्ग तुम जाने के लिए की तरह होता है के साथ काम करते हैं.
मैं इस उम्मीद में कोई मदद करता है!
वाह!
मैं डेटा एक दूरस्थ सर्वर से स्वचालित रूप से डाउनलोड की जरूरत है. इसकी एक CSV फ़ाइल, और मैं चाहता हूँ कि इसे खोलना करने के लिए, और कहा कि बनाया है मैं एक MySQL डाटाबेस में डाटा स्टोर. वहाँ एकाधिक डेटाबेस है. प्रथम खंड नीचे डेटाबेस है कि किसी ने मेरे साथ मदद की और यह अद्भुत काम करता है. मैं एक क्रॉन जॉब सेट और यह स्वचालित रूप से डाउनलोड के रूप में अनुसूचित. हालांकि मैं और अधिक डेटाबेस और खिचड़ी भाषा दूसरों के काम करने के लिए किया है.
नीचे इस खंड में ठीक काम करता है!!
--------------------------
# बिन! / Bash /
deleteparam = '-के बाद हटा';
deleteparam # = "
# निर्देशिका = 'निर्देशिका-उपसर्ग = / $ myfolder गृह / myfolder / /'
= निर्देशिका "
# = '-Http-= उपयोगकर्ता ब्ला-http-पासवर्ड = ब्ला' userpwd
(ToUpper) {
गूंज $ 1 | "[: कम]:" tr [: ऊपरी] ""
}
# अगर [-Z "$ 1"], तो
# प्रयोग गूंज: $ 0 तालिका
निकास #
फाई #
ज़िप फ़ाइल डेटा के दूरस्थ सर्वर में नाम =
`= $ ToUpper ज़िप ज़िप`
# ज़िप फ़ाइल के भीतर एक कम है _
डेटा तालिका के अपने MySQL डाटाबेस में नाम =
`= $ ToUpper डेटा डेटा`
$ TABLE.csv.zip rm #
$ DATA.csv rm #
myfolder / / $ myfolder गृह / सीडी /
####### आवासीय हो
wget 'https://3pv.mlslirealtor.com/Data3pv/DownloadBRSaction.asp?user_code=XXXXXX&password=XXXXXXX&data_type=datazip'-$ ZIP.csv.zip हे
10 नींद
####### यह खोलना
लोक निर्माण विभाग
LS-la
खोलना-O $ ZIP.csv.zip
10 नींद
####### यह भार
wget-userpwd वाचाल deleteparam $ $ $ निर्देशिका https://mywebsite/myfolder/import.php?table = $ आंकड़े
300 नींद
###### फाइलों को नष्ट
$ Rm ZIP.csv.zip
$ Rm DATA.csv
10 नींद
_ ---------------------------
यह ऊपर के सभी बढ़िया काम करता है
यह मैं क्या मदद चाहिए
--------------------------
1. मैं एक के ऊपर फ़ाइल है कि तस्वीरें डाउनलोड करने के लिए जोड़ होगा स्क्रिप्ट की ज़रूरत है. यदि आप मैं नीचे देखें एक स्क्रिप्ट है कि अपने आप वर्तमान दिनांक और समय हो जाता है कि स्क्रिप्ट है भागा की जरूरत है. वहाँ सर्वर रखती पिछले 7 दिनों से तस्वीर और लगातार अद्यतन किया गया. एक बार इस स्क्रिप्ट है, यह है कि बनाया मैं तालिका में डेटा डाउनलोड जाएगा भाग गया.
2. तो फिर, मैं एक स्क्रिप्ट है कि mysql प्रविष्टियों तस्वीरें हैं और फिर अपने दूरस्थ सर्वर से सीधे वास्तविक तस्वीर पुनः प्राप्त करने के लिए देख डेटाबेस प्रश्नों की जरूरत है. यह csv फ़ाइल डाउनलोड नहीं फोटो, सिर्फ आंकड़ों है कि मैं एक स्क्रिप्ट चलाने के लिए उपयोग करने के लिए दिए गए स्थान पर फोटो प्राप्त कर सकते हैं करता है. नीचे देखें.
नीचे दिए गए निर्देशों मैं प्राप्त कर रहे हैं.
निर्देश
तस्वीर डेटा HTTP के द्वारा प्राप्त की है. तस्वीरें डेटा एक बार दैनिक अद्यतन किया जाता है और एक CSV फ़ाइल के रूप में डाउनलोड के लिए उपलब्ध है. फिर आप एक CSV फ़ाइल से डेटा का उपयोग करने के लिए हमारी छवि सर्वर पर छवियों को वापस करने के लिए बिंदु स्क्रिप्ट लिख सकते हैं. आपको चाहिये क्वेरी स्ट्रिंग last_updt> के लिए आपूर्ति एक मूल्य 'YYYYMMDD HH: mm: ss' के लिए डेटा वापसी यूआरएल के लिए. क्षेत्र last_updt आखिरी बार है कि एक तस्वीर लिस्टिंग पर बदल गया था के लिए तारीख मान है.
आप लॉगिन आपको दिए गए क्रेडेंशियल्स के साथ user_code और पासवर्ड जगह धारकों (XXXX) की जगह की आवश्यकता होगी.
चरण 1: पुनः प्राप्त करने के लिए प्राथमिक सूची तस्वीर डेटा CSV फ़ाइल नीचे दी गई यूआरएल पर जाएँ.
https://remotewebserver/Data3pv/DownloadBRSaction.asp?user_code=XXX&password=XXXX&query_str=last_updt% 20> 20% 'YYYYMMDD% 20HH: mm: ss' और data_type फोटोज =
चरण 2: तस्वीरें तालिका डेटा एक CSV प्रारूप में डाउनलोड करना चाहिए.
चरण 3: डेटा आप अपनी छवि के स्थानों के लिए वापस लिंक कर सकते में वाई झंडे और एमएल नंबर का उपयोग करना.
हमारे प्राथमिक छवि निर्देशिका पथ इस प्रकार है:
https://remoteserver/folder/folder/folder/Last3DigistsofML / # # लिस्टिंग डाउनलोड.
उदाहरण के लिस्टिंग संख्या के लिए प्राथमिक तस्वीर के लिए 1899430 पर स्थित है
https://remoteserver/folder/folder/1/430/1899430.jpg
हमारे अतिरिक्त छवि निर्देशिका पथ संरचना इस प्रकार है:
https://remoteserver/mlsphotos/full/PhotoPosition/Last3DigistsofML # / लिस्टिंग _photoPosition.jpg #
उदाहरण के लिस्टिंग संख्या के लिए दूसरी तस्वीर के लिए 1899430 पर स्थित है
https://remoteserver/folder/folder/2/430/1899430_2.jpg
हाय, यह मेरे रिकार्ड बताता है लेकिन गिनती डेटाबेस में डेटा नहीं लगा
आशा है कि तुम मदद कर सकते हैं
नाथन
truncate tablename: आदेश है.
आप सम्मिलित 58 लाइन पर निम्नलिखित कर सकते हैं:
mysql_query @ ("$ databasetable truncate");
लेकिन इस पलटवाँ गैर है! इसलिए सावधान रहना
मैं नई फ़ाइल डालने से पहले कैसे अपने पहले से ही भरा टेबल खाली कर सकते हैं?
या मैं एक पहले से ही मौजूदा इनपुट अद्यतन कर सकते हैं?
Truncate अद्यतन? मैं इस प्रश्न को कैसे में ऐसा करने के लिए मिलता है?
@ एंडी Brotherton : इसका मतलब है कि क्वेरी से मेल नहीं प्रयास कर रहा है एक संख्या के साथ एक रिकॉर्ड डालने के लिए कार्य करें कॉलम कि उस तालिका का डेटाबेस.
1) क्या तुम्हें यकीन है कि CSV फ़ाइल डेटाबेस में तालिका के रूप में सटीक स्तंभों की समान संख्या है?
2) इस CSV फ़ाइल में फ़ील्ड विभाजक वास्तव में एक अल्पविराम है? या यह उदाहरण या अन्य के लिए एक टैब है? अगर यह एक अल्पविराम नहीं है, 12 लाइन पर fieldseparator डॉलर के मूल्य परिवर्तन
3) तालिका में पहले से ही इसे में डेटा लोड करने का प्रयास करने से पहले डेटाबेस में बनाया जाना चाहिए. क्या आप यह है?
नमस्कार,
मैं वास्तव में इस स्क्रिप्ट का उपयोग करना होगा लेकिन मुझे यकीन है कि मैं गलत क्या कर रहा हूँ नहीं हूँ. मैं उसी के साथ db में डेटा लोड नहीं उपर्युक्त समस्या हो. यह DB में है लेकिन कुछ भी नहीं पता चलता पंक्तियों की सही संख्या ढूँढता है.
मैं लाइन 88 mysql_query @ ($ क्वेरी) बदल गया है या मर (mysql_error ());
और यह संदेश "कॉलम गिनती 1 पंक्ति में मान गिनती से मेल नहीं खाता" मिल
@ क्लॉस
क्लॉस नमस्ते.
सीऍसवी क्या वास्तव में एक अभिलेख होते हैं?
के बाद से स्क्रिप्ट मंच है जहाँ यह रिकॉर्ड की संख्या outputs पहुँचे, मुझे लगता है यह असफल नहीं किया था जब यह डेटाबेस (56-57 लाइनें) इतना है कि समस्या नहीं है से जुड़े.
यह संभव है कि सम्मिलित डेटा से क्वेरी असफल साबित हुई है.
साथ 88 लाइन की जगह का प्रयास करें:
mysql_query ($ क्वेरी) या मर (mysql_error ());
चेक और त्रुटि क्या तुम जाओ.
@ Okoth
Okoth नमस्ते.
सबसे अधिक संभावना है, आप 33-54 लाइनों से छुटकारा पा सकते हैं और उन्हें इस एक पंक्ति के साथ बदलें:
$ Csvcontent = file_get_contents @ ("... https://");
उचित यूआरएल (CSV फ़ाइल को सीधे यूआरएल) के साथ डॉट्स की जगह
@ एड्रेन
एड्रियन नमस्ते.
Drupal, जैसा कि आप उल्लेख किया, जटिल तालिका संरचनाओं है. आप डेटा आयात कर रहे हैं किस तरह, यह बहुत संभावना है कि इस डेटा के लिए एकाधिक तालिकाओं में विभाजित किया है, आमतौर पर नोड आईडी के रूप में एक आम विदेशी कुंजी के साथ की जरूरत पर निर्भर करता है.
दुर्भाग्य से, ऊपर स्क्रिप्ट की मदद नहीं होता है कि नहीं है.
स्क्रिप्ट के लिए धन्यवाद. समझ बहुत.
मैं इस स्क्रिप्ट इतना है कि यह fetches कैसे संशोधित कर सकते हैं और MySQL में इंटरनेट से एक csv फ़ाइल की दुकान?
हाय सब
मैं drupal उपयोग कर रहा हूँ के लिए एक नई वेबसाइट का निर्माण, चुनौती मैं अभी आ रहा है कि मैं एक CSV फ़ाइल से कोई mysql डेटाबेस तालिकाओं जो साझा किया है, इसलिए क्षेत्र में जो मैं करने के लिए csv डेटा आयात करने की आवश्यकता में से कुछ में डेटा आयात करने की आवश्यकता एक ही डेटाबेस मेरे लिए इस स्क्रिप्ट काम करेंगे के विभिन्न वर्गों में हैं? नहीं तो यह csv फ़ाइल किया जा सकता है एक और विधि का उपयोग कर आयात किया?
सलाह कृपया, आप किसी भी सहायता के लिए धन्यवाद.
सादर
एड्रियन
हाय सब लोग!
लगता स्क्रिप्ट ... काम exept है कि यह mysql करने के लिए डेटा लिख नहीं करता है के लिए ...
क्रिस के साथ की तरह: स्क्रिप्ट पूर्ण है, और भी रिकॉर्ड गिनती outputs है, लेकिन सभी पर स्पर्श नहीं करता है डेटाबेस ... लेकिन मुझसे कहता है: मिला यह csv फ़ाइल में 1 रिकॉर्ड की कुल.
क्या मैं गलत कर (php और mysql में एक noob im)
धन्यवाद
क्लॉस
हाय स्टेनली, समस्या एकल उद्धरण के साथ है. ब्लॉग सॉफ्टवेयर यहाँ उन्हें पुनर्लेखनों. जगह बस 'और' के साथ '
पुनश्च: आदेश से ऊपर के लिए सीधे शीघ्र mysql डेटाबेस से में एक csv फ़ाइल लोड है. यह अच्छा है लेकिन संबंधित स्क्रिप्ट से ऊपर नहीं
यह डाटा बेस में इस भार का कहना है
लोड मेज टेबल क्षेत्रों में स्थानीय infile 'पथ' द्वारा समाप्त डेटा \ 'एन' द्वारा समाप्त पंक्तियों ',';
मैं पथ और इसकी तालिका में जाने परिवर्तन लेकिन यह मुझे एक त्रुटि देता है इसकी गलत वाक्यविन्यास कोड है कि 1064
किसी को भी दे सकते हैं मुझे जो कुछ करना है पर सलाह
धन्यवाद
स्टेन
संबंध के साथ उद्धरण मुद्दे पर, तुम सिर्फ इस का उपयोग कर सकते हैं:
$ Linearray = preg_split \ ("/,(?=(?:[^ "] * \" [^ \] * \ ")*(?![^ \ "] * \ $ "))/", लाइन );
चीयर्स,
Gaz.
प्रिय क्रिस,
जगह करें:
@ Mysql_query ($ क्वेरी);
के साथ:
@ Mysql_query ($ क्वेरी) या मर (mysql_error ());
और मुझे पता है कि त्रुटि क्या यह तुम देता है
हे सब लोग,
इस स्क्रिप्ट प्यार, और यह ठीक है, अब अचानक अभ्यस्त सम्मिलित रिकॉर्ड स्क्रिप्ट काम कर रहा था. स्क्रिप्ट पूरी होती है, और यहां तक कि रिकार्ड गिनती outputs है, लेकिन है बिल्कुल भी स्पर्श नहीं डेटाबेस ...
किसी भी विचार?
धन्यवाद
सी
मार्क हाय,
पहला, यह आप फ़ाइल outputfile $ चर में चयनित की बात है.
दूसरा, इस फाइल को लिखने योग्य की जरूरत है. मुझे लगता है आप लिनक्स इस्तेमाल कर रहे हैं, नहीं खिड़कियां, के रूप में यह आमतौर पर खिड़कियों के साथ एक मुद्दा नहीं है.
लिनक्स पर, बस मशीन के लिए SSH, निर्देशिका जहां आउटपुट फाइल है, और प्रकार बदलने के लिए: 777 chmod फ़ाइलनाम
जहां 'filename' वास्तविक फ़ाइल नाम है.
यदि आप SSH, कई एफ़टीपी ग्राहकों का समर्थन करने की अनुमति परिवर्तन नहीं है. इस प्रयोजन के लिए, FTP आउटपुट फ़ाइल वाले फ़ोल्डर के लिए, तो यह फ़ाइल चयन करें, और इस एफ़टीपी सॉफ्टवेयर से अनुमति बदलने का विकल्प खोजें. सेट यह 777 के लिए, या 'पढ़ने, लिखने, निष्पादित' सभी के लिए.
हाय सब,
स्क्रिप्ट के लिए धन्यवाद. PHP और MySQL में I'ma noob इसलिए मैं वास्तव में कुछ इस तरह की सराहना करते हैं. मैं के रूप में पैदा करने के रूप में दूर हो गया अपने ब्राउज़र में त्रुटि संदेश "फाइल लिखने योग्य, जाँच की अनुमति नहीं है". क्या कोई 777 को अनुमति सेटिंग के बारे में टिप्पणी की व्याख्या कृपया? मैं एक एक्सेल जनित. Csv फ़ाइल का उपयोग कर रहा हूँ? अग्रिम धन्यवाद.
मैं केवल अपनी CSV फ़ाइल की पहली पंक्ति को डेटाबेस में आयात किया जा मिल सकती है.
यहां लॉग फ़ाइल की एक प्रति है:
उत्पादन मूल्यों में डालने के (", '2008-10-21 ', '50', '50 ', '50', 'यह पहला नोट्स लाइन', 'यह नोट पंक्ति 2 है' यह, 'नोट पंक्ति 3 है ''0000,-00-00, '0000-00-00, '0000-00-00, '456 Morningside Ave', 'ब्रुकलिन Ste के 512', '', '.' '10023 'NY, 'जो', 'एक ग्राहक');
उत्पादन मूल्यों में डालने के (", '2008-10-09 ', '50', '50 ', '50', 'यह पहली नोट पंक्ति है',",",' 2008/10/09', '2008 . ''10023', NY ब्रुकलीन 512 -10-14 ''0000,-00-00, '456 Morningside Ave', 'Ste के', '', ',' जो ',) 1' ग्राहक ';
उत्पादन मूल्यों में डालने के (", '2008-10-14 ', '25', '25 ', '25', 'एक',",",' 2008/10/14 टिप्पणियाँ', '2008-10-17 रिक्त ',' ', '555 कहीं', 'न्यूयॉर्क', 'नया वाई', '10001 ',' जो ',' एक नाम ')' 123 सुइट ';
उत्पादन मूल्यों में डालने के (", '2008-10-16 ', '45', '45 ', '45 2008/10/16',",",",'', '2008-10-24 ',' रिक्त',",",",",",' टॉम',");
उत्पादन मूल्यों में डालने के (", '2008-10-01 ', '34', '34 ', '34 2008/10/02',",",",'', '2008-10-04 ',' 2008/10/04',",",",",",' स्टीव',");
उत्पादन मूल्यों में डालने के (", '2008-10-17 ', '50', '50 ', '50', 'यह पहली नोट पंक्ति है',",",' 2008/10/03', '0000 . ''10023', NY ब्रुकलीन 512 -00-00 ''0000,-00-00, '456 Morningside Ave', 'Ste के', '', ',' जो ',) 1' ग्राहक ';
उत्पादन मूल्यों में डालने के (", '2008-10-18, '25 ', '25', '25 ',' एक',",",' 2008/10/04 टिप्पणियाँ ', '0000-00-00 ''0000,-00-00, '555 कहीं', '123', 'न्यूयॉर्क', 'नया वाई', '10001 ',' जो ',' एक नाम ') सुइट;
उत्पादन मूल्यों में डालने के (", '2008-10-19 ', '45', '45 ', '45 2008/10/05',",",",'', '0000-00-00 ' 0000-00-00',",",",",",' टॉम',");
उत्पादन मूल्यों में डालने के (", '2008-10-20 ', '34', '34 ', '34', '0000-00-00 2008/10/06 नई',",",' नोट्स ' ', '0000-00-00',",",",",",' स्टीव',");
उत्पादन मूल्यों में डालने के (", '2008-10-21 ', '12', '12 ', '12', 'यहां तक कि नए नोटों',",",' 2008/10/07', '0000-00- 00, '0000-00-00',",",",",",' निशान',");
उत्पादन मूल्यों में डालने के (", '2008-10-22 ', '1', '0 ', '0 2008/10/08',",",",'', '0000-00-00 ' 0000-00-00',",",",",",",");
उत्पादन मूल्यों में डालने के (", '2008-10-23 ', '2', '0 ', '0 2008/10/09',",",",'', '0000-00-00 ' 0000-00-00',",",",",",",");
उत्पादन मूल्यों में डालने के (", '2008-10-24 ', '3', '0 ', '0 2008/10/10',",",",'', '0000-00-00 ' 0000-00-00',",",",",",",");
उत्पादन मूल्यों में डालने के (", '2008-10-15 ', '0', '0 ', '0', 'बाद में',",",' 2008/10/11', '0000-00-00 ' , '0000-00-00',",",",",",",");
उत्पादन मूल्यों में डालने के (", '2008-10-16 ', '0', '0 ', '0', 'बाद में अभी भी',",",' 2008/10/12', '0000-00-00 ', '0000-00-00',",",",",",",");
उत्पादन मूल्यों में डालने के (", '2008-10-17 ', '0', '0 ', '0', 'बाद में अभी भी',",",' 2008/10/13', '0000-00-00 ', '0000-00-00',",",",",",");
उत्पादन मूल्यों में डालने के (", '2008-10-18, '0 ', '0', '0 ',' बाद में अभी भी',",",' 2008/10/14 ', '0000-00-00 ', '0000-00-00',",",",",",");
उत्पादन मूल्यों में डालने के (", '2008-10-19 ', '0', '0 ', '0', 'नवीनतम',",",' 0000-00-00', '0000-00-00 ' , '0000-00-00',",",",",",");
उत्पादन मूल्यों में डालने के (", '2008-10-01 ', '34' '34 ', '34', 'बहुत नवीनतम',",",' 2008/10/02', '2008-10-04 ', '2008-10-04',",",",",",' ब्रूस');
उत्पादन (","); मूल्यों में सम्मिलित
यह इसे 20 अभिलेख सम्मिलित है, लेकिन केवल पहला एक यह डेटाबेस में है कहते हैं. किसी भी विचार?
यह सम्मिलित डेटाबेस तालिका जहाँ मैं चाहता हूँ यह .. में डाला नहीं किया: (
अच्छा काम प्रमुख
हाय सब,
मैंने अपने कोड के लिए एक मामूली परिवर्तन है, तो यह एक CSV आयातक के रूप में काम करती है, क्योंकि यह चाहिए.
CSV-पहली पंक्ति के स्तंभ नाम पकड़ आप आयात करना है, तो FOREACH पाश परिवर्तित करना चाहते हैं चाहिए:
foreach ($ के रूप में विभाजित रेखा ($ lineseparator, $ csvcontent)) {
$ + लाइनों +;
$ पंक्ति = ट्रिम ($ पंक्ति, "\ t");
$ पंक्ति = str_replace ("\ r ","",$ पंक्ति);
/ * * सीएसवी की पहली पंक्ति से स्तंभ नाम प्राप्त /
अगर ($ लाइनों == 1) {
$ कॉलम ($ fieldseparator, $ पंक्ति) में विस्फोट;
columnsql = फटना (",",$ स्तंभों $);
$ Columnsql गूंज;
जारी;
}
/************************************
यह पंक्ति विशेष वर्ण निकल जाता है. यह दूर अगर प्रविष्टि पहले csv फ़ाइल में बच रहे हैं
************************************/
$ पंक्ति = str_replace ("'"," '\ ", $ पंक्ति);
/*************************************/
$ Linearray = विस्फोट ($ fieldseparator, $ पंक्ति);
linemysql = फटना ("','",$ linearray $);
अगर ($ addauto)
$ Databasetable $ (columnsql $) ($ linemysql');"; 'मूल्यों में क्वेरी = "डालें
और
$ Databasetable $ (columnsql $) ($ linemysql');"; 'मूल्यों में क्वेरी = "डालें
$ .= $ क्वेरी प्रश्न. "\ N";
@ Mysql_query ($ क्वेरी);
}
कैसे बड़े फ़ाइल आप आयात की कोशिश कर रहे है?
किसी भी मामले में, प्रारंभिक उद्घाटन टैग के बाद निम्नलिखित पंक्ति जोड़ने का प्रयास करें:
set_time_limit (300);
इस निष्पादन समय से 5 मिनट (300 सेकंड) के लिए स्क्रिप्ट दे देंगे.
0 के साथ 300 की जगह यह आवश्यक रूप में ज़्यादा समय के रूप में लेने की अनुमति होगी.
हाय वहाँ है, अच्छा स्क्रिप्ट धन्यवाद. जब यह चल रहा है मैं:
घातक त्रुटि: अधिकतम 30 सेकंड के निष्पादन के समय 63 लाइन पर पार
वहाँ कुछ भी मैं इस के आसपास मिल कर सकता है?
रोबी, आप के लिए धन्यवाद इसके अलावा, यह काफी स्वागत है. दुर्भाग्य से, यह सीधे दूर जब मैं इसे कॉपी काम नहीं करता. क्योंकि मुझे लगता है कुछ कोड बाहर दो पदों में फैला हुआ है गुम है.
क्या आप कोड की जाँच के रूप में यहाँ दिखाया? क्या कुछ याद आ रही है?
ब्रैड, अगर आप इसे डाउनलोड किया था पिछले हफ्ते से पहले, '<?' की जगह के साथ शीर्ष पर '<? php' (स्थान निकालने के लिए)
मैं पहले बहुत से इसे बंद कर कटौती और आराम अपने ब्राउज़र में बस कोड मिलता है. मैं जानता हूँ php क्योंकि साइट के बाकी काम करता है काम कर रहा है.
मैं उन्नयन किया PHP5 करने के लिए कि फर्क पड़ता है?
)
; / / छोड़, क्योंकि यह बुरा सरणी तत्वों के भीतर फॉल्स
और
$ Newarray [y $] = str_replace ('"',",$ linearray [y $]);
$ Linearray = ($ newarray) array_values; / / नई सरणी के लिए कुंजी रीसेट
एक्स $ + +;
}
}
}
वैसे, यहाँ मेरी पिछली टिप्पणी करने के लिए ठीक है:
के बीच में इस डालने:
$ Linearray = विस्फोट ($ fieldseparator, $ पंक्ति);
... सम्मिलित कोड स्निपेट ... नीचे.
linemysql = फटना ("','",$ linearray $);
और ढूँढता सभी "सामग्री, और अधिक सामान" रहता है एक साथ यह imploding पहले.
= एक "" $;
$ "=" ख;
$ Qoutecount = 0;
के लिए (एक्स = $ 0, -1 एक्स $) {
qoutecount $ + +;
अगर ($ == 1 qoutecount)
$ एक = $ x; / / पहले उदाहरण दुकान
elseif ($ 2 == qoutecount) {
$ Quotecount = 0;
$ ख = $ x; / / दुकान दूसरा उदाहरण
/ / नहीं है कि यह ... एक डॉलर में एक डॉलर से सभी तत्वों ख $ संकलन करने के बाद और $ तत्व कुछ भी उपेक्षा नई सरणी में एक बी $ के लिए;
$ New "=", / / स्ट्रिंग नया इनिशियलाइज़.
के लिए (z = एक $ $, $ Z से A & & $ $ y
इस लाइन के रूप में ऐसे क्षेत्रों के लिए खाते में नहीं है:
Fname, Lname, "कंपनी, इंक", शहर, राज्य, ज़िप
कंपनी और उद्योग जगत दो अलग स्तंभों में विभाजित मिलता है.
Rengaraj,
csv फ़ाइल PHP फ़ाइल के रूप में एक ही जगह में होना चाहिए.
इसके अलावा, आप वास्तव में वही csv फ़ाइल नाम का उपयोग नहीं है.
bbqrest.csv है एक उदाहरण है, अपने खुद के साथ इस फ़ाइल नाम बदलें.
किसी भी एक जवाब तेजी से मैं सही पथ (रूट) में एक csv फ़ाइल bbqrest.csv मिल सकता है ..
मैं इस त्रुटि फ़ाइल नहीं मिली हो रही है. सुनिश्चित करें कि आप सही पथ निर्दिष्ट करें.
यह एक अच्छा जोड़ने के लिए किया जा रहा है डेटाबेस में प्रस्तुत से csv भीतर हेडर को रोकने के लिए विचार किया जाएगा. या एक स्क्रिप्ट है कि बाहर पहली पंक्ति खींचती है और एक स्तंभ नाम के रूप में इन मूल्यों का उपयोग कर बनाता है डाटाबेस बनाने के लिए.
स्टीव,
आप एक वेब सुलभ फ़ोल्डर में चर कि परिवर्तित करने की आवश्यकता को बदलने के बाद इस स्क्रिप्ट, जगह होगी. पता लगाने के लिए आप क्या करने के लिए निर्दिष्ट करने की आवश्यकता लिपि में टिप्पणी पढ़ें. तो, एक वेब ब्राउज़र, जैसे में स्क्रिप्ट फोन:
https://www.example.com/path-to-script/simplescvimport.php
कुल नौसिखिया - कैसे phpMyAdmin में Excel आयात csv (एक मैक पर) की कोशिश कर बाहर मेरे बाल फाड़. पता करने के लिए प्यार करोगे वहीं है जहाँ और मैं इस php स्क्रिप्ट के साथ क्या ... क्या?
वाह अच्छा है ... पता नहीं था पढ़ने के बाद अपने कोडिंग ... एक बहुत धन्यवाद
हाय वहाँ है, स्तंभ 1 (आईडी क्षेत्र) में ऑटो incrementing मूल्यों के लिए एक छोटा सा संशोधन
$ चर गिनती देखें.
ओला, एनरिको.
/ / चोर $ = @ ($ databasehost, databaseusername $ databasepassword $) mysql_connect या मरो (mysql_error ());
/ / @ Mysql_select_db ($ databasename) या मर (mysql_error ());
$ 0 = लाइनों;
$ = "प्रश्नों";
$ Linearray सरणी = ();
$ गिनती = 0;
foreach ($ के रूप में विभाजित रेखा ($ lineseparator, $ csvcontent)) {
$ गिनती = गिनती + 1 $;
$ + लाइनों +;
$ पंक्ति = ट्रिम ($ पंक्ति, "\ t");
$ पंक्ति = str_replace ("'"," '\ ", $ पंक्ति);
$ Linearray = विस्फोट ($ fieldseparator, $ पंक्ति);
linemysql = फटना ("','",$ linearray $);
$ क्वेरी = "'अपने डाटाबेस तालिका`' (गिनती $ 'मूल्यों,' linemysql $');"; में डालें
$ .= $ क्वेरी प्रश्न. "\ N";
@ Mysql_query ($ क्वेरी);
}
/ / @ Mysql_close ($ चुनाव);
एक बहुत बचाया समय की इस बहुत धन्यवाद! अच्छा स्क्रिप्ट.
मैं आमतौर पर phpmyadmin है, लेकिन सच उपयोग करते हैं, के मामले में एक नहीं है यह स्थापित करता है, और नहीं खोल एक्सेस (जैसे साझा होस्टिंग प्रदाताओं के सबसे), यह बहुत काम में आ सकता है.
बहुत ही उपयोगी है, धन्यवाद.