mail($to, $subject, $message, $headers)
และ
@mail($to, $subject, $message, $headers)
แตกต่างกันอย่างไรครับ
ขอบคุณมากครับ
สอบถาม Function Mail ในภาษา PHP ครับ
Moderators: mindphp, ผู้ดูแลกระดาน
- mindphp
- ผู้ดูแลระบบ MindPHP
- Posts: 27117
- Joined: 22/09/2008 6:18 pm
- Contact:
Re: สอบถาม Function Mail ในภาษา PHP ครับ
@ เป็น Operator ตัวหนึ่ง ไว้ จัดการกับ error
ดูต่อที่กระทู้
https://www.mindphp.com/forums/viewtopic.php?t=2964
ดูต่อที่กระทู้
https://www.mindphp.com/forums/viewtopic.php?t=2964
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
-
- PHP Jr. Member
- Posts: 11
- Joined: 25/09/2011 12:19 pm
Re: สอบถาม Function Mail ในภาษา PHP ครับ
Error Control Operators
PHP supports one error control operator: the at sign (@). When prepended to an expression in PHP, any error messages that might be generated by that expression will be ignored.
แปลว่า: PHP มี "@" เป็นตัวควบคุม ข้อความ error ไว้ให้ใช้ ซึ่งถ้าใส่ @ ไว้ในประโยค PHP ข้อความ error (เช่น warning, notice message ไม่รวม parsing error) จะไม่ถูกแสดง เช่น
ถ้า $myFile ไม่มีอยู่จริง หรือ ไม่ได้รับอนุญาตให้เปิดเพื่ออ่าน PHP ก็จะแสดง warning message พร้อมกับข้อความ "ขออภัยค่ะ เปิดไฟล์ไม่ได้ เป็นอะไรก็ไม่รู้
" เช่น
แต่ถ้าใส่ "@" หน้า fopen() ก็จะไม่มีข้อความ warning เช่น
เมื่อรันโปรแกรม และไฟล์เปิดไม่ได้ เราก็จะเห็นเฉพาะ error message ที่เราออกแบบไว้ เช่น
จากคำถามของ จขกท.
PHP supports one error control operator: the at sign (@). When prepended to an expression in PHP, any error messages that might be generated by that expression will be ignored.
แปลว่า: PHP มี "@" เป็นตัวควบคุม ข้อความ error ไว้ให้ใช้ ซึ่งถ้าใส่ @ ไว้ในประโยค PHP ข้อความ error (เช่น warning, notice message ไม่รวม parsing error) จะไม่ถูกแสดง เช่น
Code: Select all
$fp = fopen($myFile, 'r');
if (!$fp) {
echo 'ขออภัยค่ะ เปิดไฟล์ไม่ได้ เป็นอะไรก็ไม่รู้ :P';
} else {
// do your job here ...
}

Code: Select all
Warning: fopen(yout-file.txt) [function.fopen]: failed to open stream: Permission denied in D:\home\server_name\your-program.php on line xx ขออภัยค่ะ เปิดไฟล์ไม่ได้ เป็นอะไรก็ไม่รู้ :P
Code: Select all
$fp = @fopen($myFile, 'r');
if (!$fp) {
echo 'ขออภัยค่ะ เปิดไฟล์ไม่ได้ เป็นอะไรก็ไม่รู้ :P';
} else {
// do your job here ...
}
Code: Select all
ขออภัยค่ะ เปิดไฟล์ไม่ได้ เป็นอะไรก็ไม่รู้ :P
ต่างกันตรงที่:แล้ว mail($to, $subject, $message, $headers) และ @mail($to, $subject, $message, $headers) แตกต่างกันอย่างไร
- mail() หากส่งเมล์ไม่สำเร็จ และ PHP มี error message อะไรก็จะแสดงออกมาตามนั้น ซึ่งแน่นอนว่าเป็นข้อความภาษาอังกฤษแน่ๆ และอาจจะไม่งามนัก หากมี error message นี้แสดงออกไปใน production system
- @mail() หากส่งเมล์ไม่สำเร็จ จะไม่มี error message อะไรแสดงออกมาจาก PHP และเข้าใจว่าคนเขียนโปรแกรมเขาอยากจะออกแบบ error message เอง เพื่อให้อ่านเข้าใจง่าย และ
- หากการส่งเมล์สำเร็จดี mail() และ @mail() ก็จะทำงานเหมือนกัน ไม่มีอะไรต่าง
<?php ?> เสมอ แบบนี้ <? ?> มันเอาท์แล้ว
เขียน code ให้อ่านง่ายๆ มีชัยไปกว่าครึ่ง
เขียน code ให้อ่านง่ายๆ มีชัยไปกว่าครึ่ง
-
- Similar Topics
- Replies
- Views
- Last post
-
-
งานเข้า Warning: mail() [function.mail]: Permission denied
by imsn » 14/03/2012 1:49 am » in Programming - PHP - 2 Replies
- 1798 Views
-
Last post by mindphp
14/03/2012 10:54 am
-
-
-
เกี่ยวกับ FILE ในภาษา c ครับ
by TeddyBear » 23/09/2012 2:33 pm » in Programming - C/C++ & java & Python - 0 Replies
- 1411 Views
-
Last post by TeddyBear
23/09/2012 2:33 pm
-
-
-
เปลี่ยน function ตระกูล ereg เป็น preg eregi ใช้ preg_match เช่น E-mail
by mindphp » 17/04/2012 2:55 pm » in Free PHP Code Download script - 1 Replies
- 9031 Views
-
Last post by mindphp
13/06/2012 12:45 pm
-
-
-
สอบถาม Joomla 1.6 ครับ
by baanhost » 11/09/2011 2:05 pm » in ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM - 2 Replies
- 2158 Views
-
Last post by saipi
23/03/2012 2:57 pm
-
-
-
สอบถาม การลบไฟล์ .exe ที่ทำงานอยู่ด้วย PHP ครับ
by Chayyim » 06/09/2012 7:58 pm » in Programming - PHP - 4 Replies
- 2809 Views
-
Last post by Chayyim
10/09/2012 11:35 pm
-
Who is online
Users browsing this forum: No registered users and 11 guests