คำถามติดแท็ก file-get-contents

3
วิธีโพสต์ข้อมูลใน PHP โดยใช้ file_get_contents
ฉันใช้ฟังก์ชั่นของ PHP file_get_contents()ดึงข้อมูลเนื้อหาของ URL $http_response_headerและแล้วผมประมวลผลส่วนหัวผ่านตัวแปร ขณะนี้ปัญหาคือ URL บางรายการต้องการข้อมูลบางอย่างที่จะโพสต์ไปยัง URL (ตัวอย่างเช่นหน้าเข้าสู่ระบบ) ฉันจะทำอย่างไร ฉันรู้ว่าใช้ stream_context ฉันสามารถทำสิ่งนี้ได้ แต่ฉันก็ไม่ชัดเจน ขอบคุณ

16
file_get_contents (): การดำเนินการ SSL ล้มเหลวด้วยรหัส 1, ไม่สามารถเปิดใช้งาน crypto
ฉันพยายามเข้าถึงบริการ REST นี้โดยเฉพาะจากหน้า PHP ที่ฉันสร้างขึ้นบนเซิร์ฟเวอร์ของเรา ฉันทำให้ปัญหาแคบลงเหลือสองบรรทัดนี้ ดังนั้นหน้า PHP ของฉันมีลักษณะเช่นนี้: <?php $response = file_get_contents("https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json"); echo $response; ?> หน้าจะตายในบรรทัดที่ 2 พร้อมข้อผิดพลาดต่อไปนี้: คำเตือน: file_get_contents (): การดำเนินการ SSL ล้มเหลวด้วยรหัส 1 OpenSSL ข้อความแสดงข้อผิดพลาด: ข้อผิดพลาด: 14090086: กิจวัตร SSL: SSL3_GET_SERVER_CERTIFICATE: การตรวจสอบใบรับรองล้มเหลวใน ... php on line 2 คำเตือน: file_get_contents (): ไม่สามารถเปิดใช้งานการเข้ารหัสลับใน ... php ในบรรทัดที่ 2 คำเตือน: file_get_contents ( …

5
file_get_contents () มีการตั้งค่าการหมดเวลาหรือไม่
ฉันกำลังเรียกใช้ชุดลิงก์โดยใช้file_get_contents()วิธีในลูป แต่ละลิงก์อาจใช้เวลาในการประมวลผลมากกว่า 15 นาที ตอนนี้ฉันกังวลว่า PHP file_get_contents()มีช่วงหมดเวลาหรือไม่ ถ้าใช่จะหมดเวลาด้วยการโทรและย้ายไปที่ลิงก์ถัดไป ฉันไม่ต้องการโทรไปที่ลิงค์ถัดไปหากไม่มีการตกแต่งก่อนหน้า ดังนั้นโปรดบอกฉันว่าfile_get_contents()มีระยะหมดเวลาหรือไม่ ไฟล์ที่มีการfile_get_contents()ตั้งค่าset_time_limit()เป็นศูนย์ (ไม่ จำกัด จำนวน)

3
PHP cURL กับ file_get_contents
โค้ดสองส่วนนี้แตกต่างกันอย่างไรเมื่อเข้าถึง REST API $result = file_get_contents('http://api.bitly.com/v3/shorten?login=user&apiKey=key&longUrl=url'); และ $ch = curl_init('http://api.bitly.com/v3/shorten?login=user&apiKey=key&longUrl=url'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); ทั้งคู่ให้ผลลัพธ์เหมือนกันโดยตัดสินโดย print_r(json_decode($result))

12
จะทำให้ file_get_contents () ทำงานกับ HTTPS ได้อย่างไร
ฉันกำลังตั้งค่าการประมวลผลบัตรเครดิตและจำเป็นต้องใช้วิธีแก้ปัญหาสำหรับ CURL รหัสต่อไปนี้ใช้งานได้ดีเมื่อฉันใช้เซิร์ฟเวอร์ทดสอบ (ซึ่งไม่ได้เรียก URL SSL) แต่ตอนนี้เมื่อฉันทดสอบบนเซิร์ฟเวอร์ที่ใช้งานได้กับ HTTPS มันล้มเหลวโดยมีข้อความแสดงข้อผิดพลาด "ไม่สามารถเปิดสตรีม" function send($packet, $url) { $ctx = stream_context_create( array( 'http'=>array( 'header'=>"Content-type: application/x-www-form-urlencoded", 'method'=>'POST', 'content'=>$packet ) ) ); return file_get_contents($url, 0, $ctx); }

11
PHP file_get_contents () ส่งคืน“ ล้มเหลวในการเปิดสตรีม: คำขอ HTTP ล้มเหลว!”
ฉันมีปัญหาในการเรียก url จากโค้ด PHP ฉันต้องการเรียกใช้บริการโดยใช้สตริงการสืบค้นจากรหัส PHP ของฉัน ถ้าฉันพิมพ์ url ลงในเบราว์เซอร์ก็ใช้ได้ แต่ถ้าฉันใช้ file-get-contents () โทรออกฉันจะได้รับ: คำเตือน: file-get-contents (http: // .... ) ล้มเหลวในการเปิดสตรีม: คำขอ HTTP ล้มเหลว! HTTP / 1.1 202 ยอมรับใน ... รหัสที่ฉันใช้คือ: $query=file_get_contents('http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv'); echo($query); อย่างที่ฉันบอก - โทรจากเบราว์เซอร์และใช้งานได้ดี ข้อเสนอแนะใด ๆ ? ฉันได้ลองใช้ URL อื่นเช่น: $query=file_get_contents('http://www.youtube.com/watch?v=XiFrfeJ8dKM'); มันใช้งานได้ดี ... เป็นไปได้ไหมว่า url ที่ฉันต้องการเรียกมีวินาทีhttp://อยู่ในนั้น?

7
file_get_contents ได้รับผลลัพธ์ที่ผิด
ปรับปรุง ฉันแก้ไขปัญหาและโพสต์คำตอบ อย่างไรก็ตามโซลูชันของฉันไม่เหมาะอย่างยิ่ง 100% ฉันจะค่อนข้างลบเฉพาะsymlinkจากcacheด้วยclearstatcache(true, $target)หรือclearstatcache(true, $link)แต่ไม่ได้ทำงาน ฉันจะค่อนข้างป้องกันการแคชของ symlink ในสถานที่แรกหรือลบ symlink จากแคชทันทีหลังจากสร้างมัน โชคไม่ดีที่ฉันไม่มีโชค ด้วยเหตุผลบางอย่างclearstatcache(true)หลังจากสร้าง symlink ไม่ทำงานก็ยังคงได้รับแคช ฉันจะมอบรางวัลให้กับทุกคนอย่างมีความสุขที่สามารถปรับปรุงคำตอบของฉันและแก้ปัญหาเหล่านั้นได้ แก้ไข ฉันพยายามเพิ่มประสิทธิภาพรหัสของฉันด้วยการสร้างไฟล์ทุกครั้งที่clearstatcacheทำงานเพื่อที่ฉันจะต้องล้างแคชเพียงครั้งเดียวสำหรับแต่ละ symlink ด้วยเหตุผลบางอย่างสิ่งนี้ไม่ทำงาน clearstatcacheต้องถูกเรียกทุกครั้งที่มีการsymlinkรวมไว้ในเส้นทาง แต่ทำไม ต้องมีวิธีในการเพิ่มประสิทธิภาพโซลูชันที่ฉันมี ฉันใช้กับPHP 7.3.5 nginx/1.16.0บางครั้งส่งกลับค่าที่ไม่ถูกต้องเมื่อใช้file_get_contents symlinkปัญหาคือหลังจากลบและสร้าง symlink ใหม่ค่าเดิมยังคงอยู่ในแคช บางครั้งค่าที่ถูกต้องจะถูกส่งกลับบางครั้งก็เป็นค่าเก่า มันปรากฏแบบสุ่ม ฉันพยายามล้างแคชหรือป้องกันการแคชด้วย: function symlink1($target, $link) { realpath_cache_size(0); symlink($target, $link); //clearstatcache(true); } ฉันไม่ต้องการปิดใช้งานการแคชจริง ๆ แต่ฉันยังต้องการความถูกต้อง 100% กับ file_get_contents แก้ไข ฉันไม่สามารถโพสต์ซอร์สโค้ดของฉันได้เนื่องจากมันยาวและซับซ้อนเกินไปดังนั้นฉันจึงสร้างตัวอย่างที่ทำซ้ำได้น้อยที่สุด …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.