ถามเรื่องปัญหาการใช้ function php ที่เราสร้างขึ้นครับ
ผมใช้ iis ส่วน php compiler ใช้ 5.2.12
แล้วทีนี้ ผมเขียนฟังก์ชันขึ้นมา ใน ไฟล์ function.php
แล้วทำการ include ไฟล์นี้มา ในไฟล์อื่นๆ ที่ต้องการเรียกใช้ ฟังก์ชัน ที่มีอยู่ใน ไฟล์ function
มันมีปัญหาตรงที่ว่า ไม่สามารถใช้งานฟังก์ชัน นั้นได้
แต่ถ้า เขียนฟังก์ชัน ในไฟล์นั้นเลย สามารถเรียกใช้ได้ปกติ
มีวิธีแก้ไขยังไงบ้างครับ
ตัวอย่าง ฟังก์ชั่นที่ใช้ครับ คิดว่าไม่ผิดพลาดอะไร เคยเขียน ใน appserv ใช้ได้ปกติ เวลา Include มา
Code (PHP)
function displayDate($strDate){
$strYear = date("Y",strtotime($strDate))+543;
$strMonth= date("n",strtotime($strDate));
$strDay= date("j",strtotime($strDate));
$strHour= date("H",strtotime($strDate));
$strMinute= date("i",strtotime($strDate));
$strSeconds= date("s",strtotime($strDate));
$strMonthCut = Array("","ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.");
$strMonthThai=$strMonthCut[$strMonth];
return "$strDay $strMonthThai $strYear, $strHour:$strMinute น.";
}
มันมีปัญหาอะไรรึเปล่าครับ ต้อง set ค่าอะไรพิเศษเพิ่มหรือเปล่า หรือเป็นปัญหา ที่ php ไม่ซัพพอร์ท iis สู้ apache ไม่ได้ แล้วมีวิธีแก้ยังไงบ้างครับ
ขอบคุณครับTag : - - - -
Date :
2010-02-03 09:18:20
By :
kalawa
View :
1703
Reply :
6
ลองเอาไปแปะในไฟล์ที่จะใช้งานคับว่า มีฟังชั่นหรือป่าว
Code (PHP)
if (function_exists('displayDate')) {
echo "displayDate() available";
} else {
echo "displayDate() not available";
}
//modify from php manual
ถ้ามี จะแสดง ส่วนแรกคับ
Date :
2010-02-03 09:34:56
By :
pjgunner
ขอบคุณมากครับ
ลองเช็คดู แล้ว มันก็เจอว่ามีฟังก์ชัน นั้นอยู่
แก้ไปแก้มา อยู่ดีๆก็ได้ งงกับมันจริงๆ เลยไม่รู้ผิดตรงไหน
Date :
2010-02-03 10:39:39
By :
kalawa
/* ถามหน่อยครับ ผมผิดหรือตกบรรทัดไหนไปครับ หาแล้วหาอีก ไม่เจอบัคซะที ได้โปรดช่วยดูให้ผมหน่อยครับ email [email protected] ขอบคุณครับ */
<body>
<?
function dateshow($datetime){
$monthname = array("Jan","Jeb","Mar","Apr","May","Jun","Jul","Aug","Seb","Oct","Nov","Dec");
$monthnum = array("01","02","03","04","05","06","07","08","09","10","11","12");
$tmpsplit = split("",$datetime); //ทำการแยกวัน และ เวลาออกจากกัน
$datadate = $tmpsplit[0];
$output = $tmpsplit[1];
$splitdate = split("_",$datadate); //ทำการแยกวันออกจากกันเพื่อจัดเรียงใหม่
$output = $splitdate[2]." ".str_replace($monthnum,$monthname,$splitdate[1])." ".$splitdate[0]." ".$datatime; //ทำการจัดเรียงใหม่
return $output; //คืนค่า
}
function showip ($ipaddress){
if( $ipaddress<>"::1"){// check กรณีที่เป็น windows vista
$tmpsplit = split("\.",$ipaddress);
$output = $tmpsplit[0].".".$tmpsplit[1].".".$tmpsplit[2].".xxx";
} else {
$output = " 127.0.0.xxx";
}
return $output;
}
function showattachfile($imagename){
if($imagename<>""){
$imagesize = getimagesize("attach/$imagename.jpg");
//หาขนาดของภาพด้วยฟังก์ชัน getimagesize()
if($imagesize[0]>$imagesize[1]){
if($imagesize[0]>$imagesize[1]){
if($imagesize[0]>150){
$w =150;
$h =($imagesize[1]*150/$imagesize[0]);
} else {
$w = $imagesize[0];
$h = $imagesize[1];
}
}else{
if($imagesize[0]>150){
$h =150;
$w =($imagesize[0]*150)/$imagesize[1];
}else{
$w = $imagesize[0];
$w = ($imagesize[0]*150)/$imagesize[1];
}else{
$w = $imagesize[0];
$h = $imagesize[1];
}
}
$output = "<img src=\"attach/$imagename.jpg\" width=\"$w\"height=\"$h\" />";
} else {
$output = " ";
}
return $output;
}
function showemo($detail){ //ฟังก์ชั่นเปลี่ยนสัญลักษณ์ เช่น [1] เป็นรูป emo นั้นๆ
for($i=1;$i<=15;$i++){
$detail = str_replace ("[$i]","<img src=\"emo/$i.gif\"/>",$detail);
// ใช้ฟังกฺ์ชั่น str_replace เพื่อนแทนค่าสัญญลักษณ์ เป็น tag image html
}
}
?>
</body>
Date :
2010-09-06 18:37:56
By :
lee
เวลามีปัญหา iis ไม่ run php ควรจะพูดว่า iis support php ไม่ดีเท่า asp มากกว่าครับ
เป็นกลยุทธทางการตลาดของ ms ครับ เพราะ server อื่นๆ ก็ใช้ php ดีทั้งนั้น
ส่วนใหญ่หา function ไม่เจอมักจะเรียก path ผิดครับ ศึกษาการ include ไฟล์ให้มากขึ้นครับ
Date :
2010-09-07 10:32:55
By :
2123
ตอบใครหราคับ
Date :
2010-09-13 20:22:00
By :
ืnoname
หลายเดือนผ่านไป ไม่มีใครมาตอบคำถามของคุณ lee :<
Date :
2011-04-22 01:02:50
By :
lee
Load balance : Server 00