file_get_contents()を行うJavaScript方法はありますか? -- php フィールド と javascript フィールド 関連 問題

Is there a JavaScript way to do file_get_contents()?












14
vote

問題

日本語

これは PHPドキュメント

です。

これは、これを行うための純粋なクライアント方法が見つからない場合は、Ajax呼び出しで使用する方法です。

<事前> <コード> $homepage = file_get_contents('http://www.example.com/'); echo $homepage;

代わりにこのクライアント側を実行する方法はありますので、文字列をajaxにする必要はありませんか?

英語

Here is the PHP documentation

Here is how I would use it in an Ajax call, if I don't find a pure client way to do this.

$homepage = file_get_contents('http://www.example.com/'); echo $homepage; 

Is there way to do this client side instead so I don't have to ajax the string over?

</div
     
   
   

回答リスト

9
 
vote
vote
ベストアンサー
 

あなたは

をすることができます

JSコード:

<事前> <コード> $.post('phppage.php', { url: url }, function(data) { document.getElementById('somediv').innerHTML = data; });

PHPコード:

<事前> <コード> $url = $_POST['url']; echo file_get_contents($url);

それはあなたにURLの内容を取得します。

 

you could do

JS code:

$.post('phppage.php', { url: url }, function(data) {     document.getElementById('somediv').innerHTML = data;         }); 

PHP code:

$url = $_POST['url']; echo file_get_contents($url); 

That would get you the contents of the url.

</div
 
 
7
 
vote

JavaScriptは外出してページのデータを削除することはできません。それはその後、その後、その後、その後、データをつかんでデータをつかみますが、JavaScriptはこれを行うことができません。

<事前> <コード> $.post("/localScript.php", { srcToGet: 'http://example.com' }, function(data){ /* From within here, data is whatever your local script sent back to us */ });

あなたの処分でJSONPとクロスオリジナルのリソース共有のようなオプションがありますが、どちらも他のエンドを設定する必要があるため、ドメインを選択してデータの要求を解除するだけではできません。

さらに読み取り:同じ原点ポリシー

 

JavaScript cannot go out and scrape data off of pages. It can make a call to a local PHP script that then goes on its behalf and grabs the data, but JavaScript (in the browser) cannot do this.

$.post("/localScript.php", { srcToGet: 'http://example.com' }, function(data){   /* From within here, data is whatever your local script sent back to us */ }); 

You have options like JSONP and Cross-Origin Resource Sharing at your disposal, but both of those require setting up the other end, so you cannot just choose a domain and start firing off requests for data.

Further Reading: Same origin policy

</div
 
 
5
 
vote

この関数は、php mvn package cargo:run 0 のように、ファイルを文字列として返します。

<事前> <コード> mvn package cargo:run 1

しかしPHPとは異なり、JavaScriptは次のステートメントに進み、データが戻るのを待っていません。

 

This function will return the file as a string just like the PHP file_get_contents().

function file_get_contents(uri, callback) {     fetch(uri).then(res => res.text()).then(text => callback(text)); } 

However unlike PHP, JavaScript will go on to the next statement, not waiting for the data to return.

</div
 
 
 
 
4
 
vote

それは2020年といくつかの現代的なアプローチです。

<事前> <コード> mvn package cargo:run 2
 

It's 2020 and some modern approach;

async function file_get_contents(uri, callback) {     let res = await fetch(uri),         ret = await res.text();      return callback ? callback(ret) : ret; // a Promise() actually. }  file_get_contents("https://httpbin.org/get", console.log); // or file_get_contents("https://httpbin.org/get").then(ret => console.log(ret)); 
</div
 
 
 
 
3
 
vote

一般的な意味ではありません。クロスドメインの制限は、これを行うことからJavaScriptコードを許可しません。

ターゲットサイトに cors (Orce-Origin Resource Sharing)が設定されています。 XMLHTTPRequestを使用してファイルをロードできます。ほとんどのサイトは、セキュリティ上の理由からデフォルトでオフされているので、めったに必要です。

HTMLページを含める必要がある場合は、 mvn package cargo:run 3 要素に固執することができます。これはいくつかのレイアウトのゴッチャの影響ですが(ページは固定サイズの要素には終了します)。

 

Not in a general sense. Cross-domain restrictions disallow Javascript code from doing this.

If the target site has CORS (cross-origin resource sharing) set up, you can use XMLHttpRequest to load files. Most sites do not, as it's off by default for security reasons, and is rarely necessary.

If you just need to include an HTML page, you can stick it in an <iframe> element. This is subject to some layout gotchas, though (the page ends up in a fixed-size element).

</div
 
 
         
         
1
 
vote

またはPHP.JSライブラリを使用することもできます。これにより、JavaScript用のPHP機能があります。 file_get_contents()関数の1つ。

<事前> <コード> <script> var data = file_get_contents('Your URL'); </script>

php.js: http://phpjs.org/

 

Or You can use php.js library. Which allow some php functions for javascript. file_get_contents() function one of them.

<script> var data = file_get_contents('Your URL'); </script> 

You can find more info about php.js : http://phpjs.org/

</div
 
 
 
 

関連する質問

35  ASP.NETカスタムクライアント側の検証  ( Asp net custom client side validation ) 
.NET 2.0 Webサイトでのユーザーコントロールのカスタム検証機能があり、支払われた手数料はかかりません。 ascx ファイルにバリデータコードを置き、 Page.ClientScript.RegisterClientScriptBlock() ...

142  定義されたフォントのどれがWebページで使用されていたかを検出する方法  ( How to detect which one of the defined font was used in a web page ) 
私のページに次のCSSルールがあるとします。 <コード> body { font-family: Calibri, Trebuchet MS, Helvetica, sans-serif; } ユーザーのブラウザで定義されたフォントの1つを使用...

0  JavaScript - 2つの入力のどちらに焦点が当てられていない場合の検出  ( Javascript detecting when neither of two inputs has focus ) 
ページ上の2つの入力に焦点を当てていないときに、特定の機能を呼び出すことができます。ユーザが単に1つの入力から他方の入力に切り替わると、関数を呼び出すことを望まない。任意のアイデア? ...

54  2つの関数の違いは? ( "関数x" vs "var x =関数")[重複]  ( The difference between the two functions function x vs var x function ) 
この質問はすでにここで回答を持っています 閉じられた 8年前> 可能な重複: JavaScript:var functionname = function(){} vs関数name(){} < / a> :の違いは何ですか ...

0  GWTのJavaからJavaScriptに匿名のJavaScriptオブジェクトを渡すにはどうすればよいですか。  ( How can i pass an anonymous javascript object from java to javascript in gwt ) 
JavaScriptライブラリを丸くするGWTラッパーを作成しています。 JavaScript関数の1つは、その引数として匿名オブジェクトを取ります。: <事前> <コード> obj.buildTabs({ hide: true, placeholder: ...

2  サーバーを必要としないクライアント側(JavaScript)グラフライブラリはありますか? [閉まっている]  ( Is there a client side javascript graph library that doesnt require a server ) 
この質問はスタックオーバーフローガイドラインを満たしていません。現在答えを受け付けていません。 この質問を改善したいですか? ...

1279  jQueryでクッキーを設定/設定解除するにはどうすればよいですか。  ( How do i set unset a cookie with jquery ) 
jQueryを使用してCookieを設定して設定します。たとえば、 test という名前のクッキーを作成し、 1 ?に設定します。 ...

0  リスト項目でディスクを取り除く  ( Getting rid of disc in list item ) 
jQueryを使用してサイトを開発し、jQuery UIタブを作成しています。何らかの理由で、私のタブ(順序付けられていないリスト)は、OS XのFirefox 3を除くすべてのブラウザ(これまでにテスト済み)に弾丸を表示しています.Safari OS X、...

0  LazyWeb:要素の訪問されたクラスに基づいてLI要素を削除するJavaScriptが必要  ( Lazyweb need javascript that removes li elements based on visited class of a el ) 
すでにクリックしたように、必要なデータがたくさんあるこのページを持っていますが、頻繁に青色を探す必要があるので、頻繁に繰り返されます。私はこれがより効率的かもしれないことに気づいて、それが含まれているリンクが訪問されたかどうかに基づいて要素を隠されたように設定...

44  トリプル引用符? ASP.NETでデータバインドJavaScript Stringパラメータを区切る方法  ( Triple quotes how do i delimit a databound javascript string parameter in asp n ) 
Anchor OnClick でJavaScriptデータバインド文字列パラメータを区切りますか? 私はASP.NETリピータコントロールにアンカータグを持っています。 アンカーの OnClick イベントには、JavaScript関数への呼び出しが含ま...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有