ERROR แบบนี้คืออะไรคะ Fatal error: Cannot redeclare swath() (previously declared in 'xyz'
อธิบายให้นะครับ
Code (PHP)
function abc()
{
echo 'abc';
}
function abc()
{
echo 'abc 2';
}
แบบนี้จะ error ครับ เพราะมี "การประกาศ" ฟังก์ชั่นในชื่อเดียวกันสองครั้ง
Code (PHP)
include 'functions.php';
include 'functions.php';
แบบนี้ก็จะ error หากในไฟล์ functions.php มีการประกาศฟังก์ชั่น
ดังนั้นการหาจุดผิดในโค้ดของคุณ ลองหาดูว่า มีการประกาศฟังก์ชั่นซ้ำ หรือการ include ไฟล์ซ้ำหรือไม่
ถ้าเป็นการ include สามารถแก้ด้วยการใช้ include_once ครับ (จะทำให้ include ไฟล์นั้นๆ ครั้งเดียวเสมอ)
Date :
2013-05-14 21:24:39
By :
cookiephp
รบกวนช่วยดูโค้ดให้หน่อยนะคะ หนูลองดูแล้วมันก้ไม่มี function ที่ซ้ำกันอ่ะคะ
ตอบความคิดเห็นที่ : 3 เขียนโดย : cookiephp เมื่อวันที่ 2013-05-14 21:24:39
รายละเอียดของการตอบ ::
Code (PHP)
$con = mysql_connect("localhost","root","root");
mysql_query("SET NAMES UTF8");
mysql_select_db("newsextraction", $con);
$query = "SELECT news_detail,url_id,type_id FROM news_web ";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
$typeID =$row['type_id'];
$urlID = $row['url_id'];
$newssu="{$row['news_detail']}";
// echo "$newssu <BR>" ;
function swath($input_text)
{
$input_filename= tempnam("/tmp", "swath_");
$output_filename= tempnam("/tmp", "swath_");
$input_text_tis620 = iconv("UTF-8", "TIS-620", $input_text);
file_put_contents($input_filename, $input_text_tis620);
system("C:/AppServ/www/swathf/swath < $input_filename > $output_filename");
$raw = file_get_contents($output_filename);
$raw_utf8 = iconv("TIS-620", "UTF-8", $raw);
unlink($input_filename);
unlink($output_filename);
return preg_split('/\|/', $raw_utf8);
}
$output = swath($newssu);
//print implode("<BR>", $output);
file_put_contents("C:\AppServ\www\swathf\output.txt",implode ($output,"\r\n"));
$strFileName = "C:\AppServ\www\swathf\output.txt";//อ่านไฟล์
$objFopen = fopen($strFileName, 'r');
if ($objFopen) {
while (!feof($objFopen)) {
$file = fgets($objFopen, 4096);
//$xx .= $file;
// echo $file."<br>";
$conn = mysql_connect(localhost,root,root) or die ('Error connecting to mysql');
mysql_query("SET NAMES UTF8");
$dbname = 'newsextraction';
mysql_select_db($dbname);
$query1 = "SELECT nameE FROM name_entity WHERE nameE LIKE '".trim($file,"\t\n\r\0\x0B")."' ";
$result1 = mysql_query($query1);
while($row = mysql_fetch_array($result1))
{
$show .= $row['nameE']."," ;
}
}}
//echo"$show";
$array = explode(",", $show);// ตัดคำด้วย ,
$i = 0;
foreach ($array as $value) {
if($array[$i] != "ที่" && $array[$i] != "ณ")
{
if($back_status != 1)
{
//echo "-".$array[$i]."-<br>";//ตรงนี้จะเช็คทีละคำ ก่อนคำว่าที่
$front = "$array[$i]";
//echo"$front";
$conn = mysql_connect(localhost,root,root) or die ('Error connecting to mysql');
mysql_query("SET NAMES UTF8");
$dbname = 'newsextraction';
mysql_select_db($dbname);
$query2= "SELECT nameE,type_id FROM name_entity WHERE nameE = '".trim($array[$i],"\t\n\r\0\x0B")."' ";
// การ Query ด้วยเงื่อนไขที่เป็น LIKE ควรใส่เครื่องหมาย % ไม่อย่างนั้นก็ใช้ = ไปเลย
$result2 = mysql_query($query2);
while($row = mysql_fetch_array($result2))
{
//$show .= $row['nameE']."," ;
$show2.=" {$row['nameE']}//{$row['type_id']}  " ;
if($row['type_id'] == 1){
$x1 .= $row['nameE']." ";
}
if($row['type_id'] == 2){
$x2 .= $row['nameE']." ";
}
if($row['type_id'] == 3){
$x3 .= $row['nameE']." ";
}
if($row['type_id'] == 4){
$x4 .= $row['nameE']." ";
}
if($row['type_id'] == 5){
$x5 .= $row['nameE']." ";
}
if($row['type_id'] == 6){
$x6 .= $row['nameE']." ";
}
// echo"$show2";
}
}
$front .= $array[$i];
}
if($array[$i] == "ที่" || $array[$i] == "ณ")
{
//echo $front."<br>";//เทียบกับ DB
$back_status = 1;
}
if($back_status == 1 || $array[$i] == "ณ")
{
if($array[$i] != "ที่" && $array[$i] != "ณ")
{
$back .= $array[$i];
//echo "-".$array[$i]."-<br>";////ตรงนี้จะเช็คทีละคำ หลังคำว่าที่
$back = "$array[$i]<BR>";
//echo"$back";
$conn = mysql_connect(localhost,root,root) or die ('Error connecting to mysql');
mysql_query("SET NAMES UTF8");
$dbname = 'newsextraction';
mysql_select_db($dbname);
$query3 = "SELECT nameE,type_id FROM name_entity WHERE type_id = 6 AND nameE = '".trim($array[$i],"\t\n\r\0\x0B")."' ";
// การ Query ด้วยเงื่อนไขที่เป็น LIKE ควรใส่เครื่องหมาย % ไม่อย่างนั้นก็ใช้ = ไปเลย
$result3 = mysql_query($query3);
while($row = mysql_fetch_array($result3))
{
//$show .= $row['nameE']."," ;
$show3 .=" {$row['nameE']}//{$row['type_id']}  " ;
if($row['type_id'] == 1){
$x1 .= $row['nameE']." ";
}
if($row['type_id'] == 2){
$x2 .= $row['nameE']." ";
}
if($row['type_id'] == 3){
$x3 .= $row['nameE']." ";
}
if($row['type_id'] == 4){
$x4 .= $row['nameE']." ";
}
if($row['type_id'] == 5){
$x5 .= $row['nameE']." ";
}
if($row['type_id'] == 6){
$x6 .= $row['nameE']." ";
}
// echo"$show3";
}
}
}
$i++;
}
//echo $back."<BR>";//เทียบกับ DB
$news= $show2.$show3;
//echo"$news";
echo $x1."<br>";
echo $x2."<br>";
$test = substr($x1,0,-1);
echo $test;
$q = mysql_query("insert into news_su (type_id,url_id,org,act,title,per,loc,`date`) values ( '".$typeID."','".$urlID."','".$x1."','".$x3."','".$x2."','".$x4."','".$x5."','".$x6."')");
echo "insert into news_su (org,act,title,per,loc,`date`) values ('".$x1."','".$x2."','".$x3."','".$x4.",'".$x5."','".$x6."'')";
// $add = explode(" ",$news);
// print_r ($add);
}
mysql_close($con);
Date :
2013-05-14 21:38:11
By :
Butterney
-*- function เหตุผลคือ มันสามารถใช้กี่ครั้งก็ได้ไม่ต้องไปวนแบบนั้นเหมือน แมวของคุกกี้ บอกหนะครับ
Date :
2013-05-15 10:07:01
By :
teez1232002
Load balance : Server 03