Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > PHP ช่วยด้วยจ้า import csv file : Fatal error: Maximum execution time of 30 seconds exceeded


[PHP] PHP ช่วยด้วยจ้า import csv file : Fatal error: Maximum execution time of 30 seconds exceeded

 
Topic : 133572



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์



รบกวนท่านผู้รู้ ช่วยมาตอบหน่อยค่ะ พอดีเขียน Import csv file เพื่อนำข้อมุลเข้า DB
แต่พบ error
Fatal error: Maximum execution time of 30 seconds exceeded in C:\AppServ\www\import_csv\index.php on line 24

ซึ่งไปหาอ่านๆมา คือให้ไปแก้ ที่ php.ini
เปลี่ยน max_execution_time = 360 (หรือมากกว่าก็ได้) แต่ก็ยังไม่หายค่ะ

ข้อมูล โดยปกติข้อมูลจะมีประมาณ 9000+ rows 39 Col.
แต่ลองตัดให้เหลือแค่ 1000 rows และ 2 Col. ข้อมูลเข้าประมาณ 700-800 rows และติด error นี้ค่ะ


Code (PHP)
001.<?php
002.$conn = mysqli_connect("localhost", "root", "12345678","DB001");
003. 
004. 
005.date_default_timezone_set("Asia/Bangkok");
006. 
007.$trn_date = date("Y-m-d H:i:s");
008.     
009.     
010.if (isset($_POST["import"])) {
011.     
012.    $fileName = $_FILES["file"]["tmp_name"];
013.     
014.    if ($_FILES["file"]["size"] > 0) {
015.         
016.        $file = fopen($fileName, "r");
017.         
018.        while (($column = fgetcsv($file, 1000, ",")) !== FALSE) {
019.              $sqlInsert = "INSERT INTO users (id, Name)
020.                   values ('" . $column[0] . "','" . $column[1] . "')";
021.            $result = mysqli_query($conn, $sqlInsert);
022.             
023.            if (! empty($result)) {
024.                $type = "success";
025.                $message = "CSV Data Imported into the Database";
026.            } else {
027.                $type = "error";
028.                $message = "Problem in Importing CSV Data";
029.            }
030.        }
031.    }
032.}
033.?>
034.<!DOCTYPE html>
035.<html>
036. 
037.<head>
038.<script src="jquery-3.2.1.min.js"></script>
039. 
040.<style>
041.body {
042.    font-family: Arial;
043.    width: 1000;
044.}
045. 
046..outer-scontainer {
047.    background: #F0F0F0;
048.    border: #e0dfdf 1px solid;
049.    padding: 20px;
050.    border-radius: 2px;
051.}
052. 
053..input-row {
054.    margin-top: 0px;
055.    margin-bottom: 20px;
056.}
057. 
058..btn-submit {
059.    background: #333;
060.    border: #1d1d1d 1px solid;
061.    color: #f0f0f0;
062.    font-size: 0.9em;
063.    width: 100px;
064.    border-radius: 2px;
065.    cursor: pointer;
066.}
067. 
068..outer-scontainer table {
069.    border-collapse: collapse;
070.    width: 100%;
071.}
072. 
073..outer-scontainer th {
074.    border: 1px solid #dddddd;
075.    padding: 8px;
076.    text-align: left;
077.}
078. 
079..outer-scontainer td {
080.    border: 1px solid #dddddd;
081.    padding: 8px;
082.    text-align: left;
083.}
084. 
085.#response {
086.    padding: 10px;
087.    margin-bottom: 10px;
088.    border-radius: 2px;
089.    display:none;
090.}
091. 
092..success {
093.    background: #c7efd9;
094.    border: #bbe2cd 1px solid;
095.}
096. 
097..error {
098.    background: #fbcfcf;
099.    border: #f3c6c7 1px solid;
100.}
101. 
102.div#response.display-block {
103.    display: block;
104.}
105.</style>
106.<script type="text/javascript">
107.$(document).ready(function() {
108.    $("#frmCSVImport").on("submit", function () {
109. 
110.        $("#response").attr("class", "");
111.        $("#response").html("");
112.        var fileType = ".csv";
113.        var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(" + fileType + ")$");
114.        if (!regex.test($("#file").val().toLowerCase())) {
115.                $("#response").addClass("error");
116.                $("#response").addClass("display-block");
117.            $("#response").html("Invalid File. Upload : <b>" + fileType + "</b> Files.");
118.            return false;
119.        }
120.        return true;
121.    });
122.});
123.</script>
124.</head>
125. 
126.<body>
127.    <h2>Import CSV file.</h2>
128.     
129.    <div id="response" class="<?php if(!empty($type)) { echo $type . " display-block"; } ?>"><?php if(!empty($message)) { echo $message; } ?></div>
130.    <div class="outer-scontainer">
131.        <div class="row">
132. 
133.            <form class="form-horizontal" action="" method="post"
134.                name="frmCSVImport" id="frmCSVImport" enctype="multipart/form-data">
135.                <div class="input-row">
136.                    <label class="col-md-4 control-label">Choose CSV
137.                        File</label> <input type="file" name="file"
138.                        id="file" accept=".csv">
139.                    <button type="submit" id="submit" name="import"
140.                        class="btn-submit">Import</button>
141.                    <br />
142. 
143.                </div>
144. 
145.            </form>
146. 
147.        </div>
148.               <?php
149.            $sqlSelect = "SELECT * FROM users";
150.            $result = mysqli_query($conn, $sqlSelect);
151.             
152.            if (mysqli_num_rows($result) > 0) {
153.                ?>
154.            <table id='userTable'>
155.            <thead>
156.                <tr>
157.                    <th>id</th>
158.                    <th>Name</th>
159.                    
160.                     
161. 
162.              </tr>
163.            </thead>
164.<?php
165.                 
166.                while ($row = mysqli_fetch_array($result)) {
167.                    ?>
168.                     
169.                <tbody>
170.                <tr>
171.                    
172.                    <td><?php  echo $row['id']; ?></td>
173.                    <td><?php  echo $row['Name']; ?></td>
174.                     
175.                  
176.             
177.                </tr>
178.                    <?php
179.                }
180.                ?>
181.                </tbody>
182.        </table>
183.        <?php } ?>
184.    </div>
185. 
186.</body>
187. 
188.</html>




Tag : PHP, MySQL, Appserv

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-05-09 11:49:47 By : Pornwichian View : 1058 Reply : 7
 

 

No. 1



โพสกระทู้ ( 2,261 )
บทความ ( 5 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

แก้ไข 2 บรรทัดนี้ด้วยครับ ใน php.ini

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M

; Must be greater than or equal to upload_max_filesize
post_max_size = 40M
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-09 12:03:18 By : Manussawin
 

 

No. 3



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


แก้ไข ตามคำแนะนำจากทั้งสองท่าน ยังขึ้นเหมือนเดิมเลยค่ะ

Fatal error: Maximum execution time of 30 seconds exceeded in C:\AppServ\www\import_csv\index.php on line 24

พอมีคำแนะนำให้ตรวจสอบตรงจุดอื่นอีกไหมคะ


ประวัติการแก้ไข
2019-05-09 13:58:58
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-09 13:51:31 By : Pornwichian
 

 

No. 4



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



สถานะออฟไลน์


เอาโค๊ดที่แก้ไขแล้วมาลงอีกทีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-09 14:06:36 By : Chaidhanan
 

 

No. 5



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


รบกวนหน่อยนะคะ ขอบคุณค่ะ

Fatal error: Maximum execution time of 30 seconds exceeded in C:\AppServ\www\import_csv\index3.php on line 22

Code (PHP)
001.<?php
002.$conn = mysqli_connect("localhost", "root", "12345678","DB001");
003. 
004. 
005.date_default_timezone_set("Asia/Bangkok");
006. 
007.$trn_date = date("Y-m-d H:i:s");
008.     
009.     
010.if (isset($_POST["import"])) {
011.     
012.    $fileName = $_FILES["file"]["tmp_name"];
013.     
014.    if ($_FILES["file"]["size"] > 0) {
015.         
016.        $file = fopen($fileName, "r");
017.         
018.         /*while (($column = fgetcsv($file, 1000, ",")) !== FALSE) {*/
019.        while ($column = fgetcsv($file, 1000, ",")) {
020.              $sqlInsert = "INSERT INTO users (id, Name)
021.                   values ('" . $column[0] . "','" . $column[1] . "')";
022.            $result = mysqli_query($conn, $sqlInsert);
023.             
024.            if (! empty($result)) {
025.                $type = "success";
026.                $message = "CSV Data Imported into the Database";
027.            } else {
028.                $type = "error";
029.                $message = "Problem in Importing CSV Data";
030.            }
031.        }
032.    }
033.}
034.?>
035.<!DOCTYPE html>
036.<html>
037. 
038.<head>
039.<script src="jquery-3.2.1.min.js"></script>
040. 
041.<style>
042.body {
043.    font-family: Arial;
044.    width: 1000;
045.}
046. 
047..outer-scontainer {
048.    background: #F0F0F0;
049.    border: #e0dfdf 1px solid;
050.    padding: 20px;
051.    border-radius: 2px;
052.}
053. 
054..input-row {
055.    margin-top: 0px;
056.    margin-bottom: 20px;
057.}
058. 
059..btn-submit {
060.    background: #333;
061.    border: #1d1d1d 1px solid;
062.    color: #f0f0f0;
063.    font-size: 0.9em;
064.    width: 100px;
065.    border-radius: 2px;
066.    cursor: pointer;
067.}
068. 
069..outer-scontainer table {
070.    border-collapse: collapse;
071.    width: 100%;
072.}
073. 
074..outer-scontainer th {
075.    border: 1px solid #dddddd;
076.    padding: 8px;
077.    text-align: left;
078.}
079. 
080..outer-scontainer td {
081.    border: 1px solid #dddddd;
082.    padding: 8px;
083.    text-align: left;
084.}
085. 
086.#response {
087.    padding: 10px;
088.    margin-bottom: 10px;
089.    border-radius: 2px;
090.    display:none;
091.}
092. 
093..success {
094.    background: #c7efd9;
095.    border: #bbe2cd 1px solid;
096.}
097. 
098..error {
099.    background: #fbcfcf;
100.    border: #f3c6c7 1px solid;
101.}
102. 
103.div#response.display-block {
104.    display: block;
105.}
106.</style>
107.<script type="text/javascript">
108.$(document).ready(function() {
109.    $("#frmCSVImport").on("submit", function () {
110. 
111.        $("#response").attr("class", "");
112.        $("#response").html("");
113.        var fileType = ".csv";
114.        var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(" + fileType + ")$");
115.        if (!regex.test($("#file").val().toLowerCase())) {
116.                $("#response").addClass("error");
117.                $("#response").addClass("display-block");
118.            $("#response").html("Invalid File. Upload : <b>" + fileType + "</b> Files.");
119.            return false;
120.        }
121.        return true;
122.    });
123.});
124.</script>
125.</head>
126. 
127.<body>
128.    <h2>Import CSV file.</h2>
129.     
130.    <div id="response" class="<?php if(!empty($type)) { echo $type . " display-block"; } ?>"><?php if(!empty($message)) { echo $message; } ?></div>
131.    <div class="outer-scontainer">
132.        <div class="row">
133. 
134.            <form class="form-horizontal" action="" method="post"
135.                name="frmCSVImport" id="frmCSVImport" enctype="multipart/form-data">
136.                <div class="input-row">
137.                    <label class="col-md-4 control-label">Choose CSV
138.                        File</label> <input type="file" name="file"
139.                        id="file" accept=".csv">
140.                    <button type="submit" id="submit" name="import"
141.                        class="btn-submit">Import</button>
142.                    <br />
143. 
144.                </div>
145. 
146.            </form>
147. 
148.        </div>
149.               <?php
150.            $sqlSelect = "SELECT * FROM users";
151.            $result = mysqli_query($conn, $sqlSelect);
152.             
153.            if (mysqli_num_rows($result) > 0) {
154.                ?>
155.            <table id='userTable'>
156.            <thead>
157.                <tr>
158.                    <th>id</th>
159.                    <th>Name</th>
160.                    
161.                     
162. 
163.              </tr>
164.            </thead>
165.<?php
166.                 
167.                while ($row = mysqli_fetch_array($result)) {
168.                    ?>
169.                     
170.                <tbody>
171.                <tr>
172.                    
173.                    <td><?php  echo $row['id']; ?></td>
174.                    <td><?php  echo $row['Name']; ?></td>
175.                     
176.                  
177.             
178.                </tr>
179.                    <?php
180.                }
181.                ?>
182.                </tbody>
183.        </table>
184.        <?php } ?>
185.    </div>
186. 
187.</body>
188. 
189.</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-09 14:14:08 By : Pornwichian
 

 

No. 6



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณทั้งสองท่านที่มาช่วยตอบนะคะ ตอนนี้น้องทำได้แล้วนะคะ

เพิ่ม set_time_limit(0); ไปในไฟล์ที่ import ค่ะ
ตอนนี้ทดสอบ 9000 rows up ก็สามารถ import เข้าได้ค่ะ




ประวัติการแก้ไข
2019-05-10 16:31:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-09 15:12:30 By : Pornwichian
 

 

No. 7



โพสกระทู้ ( 2,261 )
บทความ ( 5 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook Hi5 Blogger


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-10 13:02:04 By : Manussawin
 

 

No. 8



โพสกระทู้ ( 421 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-10 13:25:51 By : nobetaking
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : PHP ช่วยด้วยจ้า import csv file : Fatal error: Maximum execution time of 30 seconds exceeded
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่