タグ付けされた質問 「file-get-contents」

3
file_get_contentsを使用してPHPでデータを投稿する方法は?
PHPの関数file_get_contents()を使用してURLのコンテンツをフェッチしてから、変数を使用してヘッダーを処理します$http_response_header。 ここで問題となるのは、一部のURLにURLに投稿するためのデータが必要なことです(たとえば、ログインページ)。 それ、どうやったら出来るの? stream_contextを使用すると実現できるかもしれませんが、完全には明確ではありません。 ありがとう。

16
file_get_contents():SSL操作がコード1で失敗し、暗号を有効にできませんでした
私はサーバーで作成したPHPページからこの特定のRESTサービスにアクセスしようとしています。問題をこれら2つの行に絞り込みました。したがって、私の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エラーメッセージ:error:14090086:SSLルーチン:SSL3_GET_SERVER_CERTIFICATE:certificate verifyが... phpの2行目で失敗しました 警告:file_get_contents():2行目の... phpで暗号を有効にできませんでした 警告: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):ストリームを開けませんでした:2行目の... phpで操作が失敗しました Gentooサーバーを使用しています。最近、PHPバージョン5.6にアップグレードしました。この問題が発生したのはアップグレード後です。 私のようなアドレスを使用してRESTサービスを交換するとき、私が見つかりましたhttps://www.google.com。私のページは問題なく動作します。 以前の試みでは“verify_peer”=>false、ここで説明するように、を設定し、それを引数としてfile_get_contentsに渡しました: file_get_contents ignoring verify_peer => false? しかし、筆者が指摘したように。違いはありませんでした。 サーバー管理者の1人に、php.iniファイルに次の行が存在するかどうかを尋ねました。 extension = php_openssl.dll allow_url_fopen =オン Gentooを使用しているため、ビルド時にopensslがコンパイルされると彼は言った。php.iniファイルでは設定されていません。 それallow_url_fopenが機能していることも確認しました。この問題の特殊な性質のため。助けになる情報がたくさん見つかりません。このようなものに出くわしたことがありますか?ありがとう。

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にアクセスする場合、これらの2つのコードはどのように異なりますか? $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の回避策を使用する必要がありました。次のコードは、テストサーバー(SSL URLを呼び出さない)を使用していた場合は正常に機能しましたが、現在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リクエストが失敗しました!」を返します
PHPコードからURLを呼び出すのに問題があります。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に2番目のURLが含まれている可能性がありhttp://ますか?

7
file_get_contentsが間違った結果を得る
更新 問題を解決して回答を投稿しました。ただし、私のソリューションは100%理想的ではありません。私はむしろのみ除去するであろうsymlinkからcacheとclearstatcache(true, $target)か、clearstatcache(true, $link)それは動作しません。 また、シンボリックリンクのキャッシュを最初から防ぐか、シンボリックリンクを生成した直後にキャッシュから削除します。残念ながら、私はそれで運がありませんでした。何らかの理由でclearstatcache(true)シンボリックリンクを作成しても機能しない場合でも、キャッシュされます。 私は私の答えを改善し、それらの問題を解決できるすべての人に賞金を喜んで授与します。 編集する clearstatcache実行するたびにファイルを生成してコードを最適化しようとしたので、シンボリックリンクごとに1回だけキャッシュをクリアする必要があります。何らかの理由で、これは機能しません。clearstatcacheがsymlinkパスに含まれるたびに呼び出す必要がありますが、なぜですか?私のソリューションを最適化する方法がなければなりません。 で使用PHP 7.3.5していnginx/1.16.0ます。file_get_contentsを使用すると、誤った値が返されることがありますsymlink。問題は、シンボリックリンクを削除して再作成した後、その古い値がキャッシュに残っていることです。正しい値が返されることもあれば、古い値が返されることもあります。ランダムに見えます。 私はキャッシュをクリアするか、キャッシュを防止しようとしました: function symlink1($target, $link) { realpath_cache_size(0); symlink($target, $link); //clearstatcache(true); } キャッシュを無効にしたくないのですが、file_get_contentsで100%の精度が必要です。 編集する 私のソースコードは長すぎて複雑であるため、投稿できません。問題を再現する最小限の再現可能な例(index.php)を作成しました。 <h1>Symlink Problem</h1> <?php $dir = getcwd(); if (isset($_POST['clear-all'])) { $nos = array_values(array_diff(scandir($dir.'/nos'), array('..', '.'))); foreach ($nos as $no) { unlink($dir.'/nos/'.$no.'/id.txt'); rmdir($dir.'/nos/'.$no); } foreach (array_values(array_diff(scandir($dir.'/ids'), array('..', '.'))) as …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.