ถามเกี่ยวกับ function นิดหนึ่งครับ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ถามเกี่ยวกับ function นิดหนึ่งครับ
คือว่า ผมทดสอบใช้ function file_exists(); ครับแล้วมีปัญหาดังนี้
มันไม่ยอมตรวจสอบให้ในขณะที่เป็น http://www.aaaa.com ครับ
ตัวอย่างดังนี้
$URL="http://www.aaaa.com"; // ../test/web
if(file_exists("$URL/images/$re[image]")==1){
echo"xxxx";
}
ตามตัวอย่าง ถ้ามันตรวจสอบได้ค่าของมันจะเป็น 1 แต่ถ้าเปลี่ยน $URL เป็นเรียกจาก Folder โดยตรงจะได้ตามที่ต้องการคือ 1
แต่พอเปลี่ยน $URL เป็น http://www.aaaa.com กับไม่มีค่าอะไรออกมาเลย พอดีผมจำเป็นที่จะต้องเรียกใช้ไฟล์งานข้าม URL ครับ
งง หรือเปล่าครับ

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
น่าจะเป็นข้อจำกัดของ function file_exists ไม่อนุญาตให้ใช้งานแบบ cross domain ส่วนถ้าอยู่ใน domain เดียวกัน ไม่แน่จะว่าสามารถใช้ได้หรือปล่าว ให้ลองทดสอบผ่าน server ดู
1 2 3 |
กับ
1 2 3 |
ถ้า domain ของเราเรียกผ่าน path url ใช้งานได้ และเรียกผ่าน domain อื่นใช้งานไม่ได้ แสดงว่าน่าจะเป็นเงื่อนไขการใช้งานแบบ cross domain ของฟังก์ชันที่ไม่รองรับ
หรือไม่ได้ทั้งสองกรณี น่าจะเป็นข้อจำกัดของ ฟังก์ชันที่ไม่รองรับ การกำหนดในรูปแบบ url
แต่ถ้าต้องการการตรวจสอบไฟล์ผ่าน cross domain น่าจะมีอีกหลายวิธี แนะนำ 2 วิธีด้านล่าง โดยวิธีที่ 2 จะเร็วกว่าวิธีแรก แต่ไม่มากนัก
วิธีที่ 1
1 2 3 4 5 6 7 | <?php if ( is_array (@file( $url_chekc ))){ echo "Found" ; echo "<br>" ; } ?> |
วิธีที่ 2
1 2 3 4 5 6 7 8 | <?php $g_header =get_headers( $url_chekc ); if (preg_match( '@200 ok@ui' , $g_header [0])){ echo "Found" ; echo "<br>" ; } ?> |

ขอบคุณครับผมได้ความรู้ใหม่เลยพอดีไม่เคยใช้ is_array() กับ file() ครับ ช่วยอธิบายได้ฟังหน่อยครับมันหรืออะไรครับ
ผมใช้คำสั่งนี้ครับ
if(is_array(@file($url_chekc))){

คำสั่ง file ใช้สำหรับ อ่านค่าไฟล์มาเก็บไว้ในตัวแปร array
อ่านเพิ่มเติม
https://www.ninenik.com/php-manual/function.file.html
ส่านฟังก์ชัน is_array ก็ใช้ตรวจสอบว่า เป็น array หรือไม่
ซึ่งถ้าคำสั่ง file อ่านค่าไฟล์มาแล้วก็จะเป็นในตัวแปร array และก็จะคืนค่าเป็น array จากนั้นก็เช็คด้วย is_array ว่าคืนค่าเป็น array หรือไม่ ถ้าเป็น array แสดงว่ามีไฟล์นี้อยู่จริง
อ่านเพิ่มเติม
https://www.ninenik.com/php-manual/function.is-array.html
