2017-02-07 3 views
-1

このスクリーンショットを働いているように見えるのdoesntのfile_get_contents()はPHP私のコードが20行目のforeachループに入っていないのはなぜですか?

Image

このスクリーンショット私はコードにエコー$のHTMLを追加した後、それは未定義の変数が言うことを示しているURLは、$ URLに格納なっていることを示しています$ URLとのfile_get_contents():ファイル名はまた

Image2

空にすることはできません、私はfile_get_html()カールなどのstackoverflowの上がありますほとんどすべてを試してみました。何も動作していないようです。私がどこに間違っているのか教えてください。

<?php 
include_once('simple_html_dom.php'); 
$base_url = "https://www.instagram.com/"; 
$html = ""; 
if (isset($_POST['username'])) { 
    $url = $base_url.htmlspecialchars($_POST['username'])."/";//concatenate $base_url to username to generate full URL 
} 
$html = file_get_contents($url); //access the URL in $url 
$doc = new DOMDocument; 
$doc->loadHTML($html); //get HTML of the webpage given by file_get_contents 
$tags = $doc->getElementsByTagName('img'); 
$arr = (array)$tags; 
if (empty($arr)) { 
    echo 'emptyarray'; 
} 
foreach ($tags as $tag) { 
    echo $tag->getAttribute('src'); 
} 
?> 

編集:

'のhttp:// stackoverflow.com/questionsが' の場合の代わりに使用されている 'https://でwww.instagram.com/ its_kushal_here' のfile_get_contents()が正常に動作していません失敗する。

+0

'if(isset($ _ POST ['username'])){ $ url = $ base_url.htmlspecialchars($ _ POST ['username'])。 } 'このセグメントでは成功しませんでした。 –

+0

1 - すべてのテストコードを削除してください: 'echo $ url ...'何が起きているのかを見るのを難しくするテストコードがたくさんあります。 - 2 - 'simple_dom_html'ファイルを含める------ 3 - codepen(http://codepen.io/)----でコードスニペットを含めるようにしてください 4 - あなたのものを示すためにコメントを使用することを検討してくださいやろうとしていました – Cason

+0

@MASIDDIQUIでもそう思っていました。しかし、最初のスクリーンショットは、POSTが成功したことを示しています。 –

答えて

-1

ページを更新したときに、投稿パラメータが新しいリクエストに反映されていることを確認しましたか?

問題が$_POST['username']$urlが定義されることはありません設定されていない場合は、ここで

if (isset($_POST['username'])) { 
    $url = $base_url.htmlspecialchars($_POST['username'])."/"; 
} 

のようです。 @$doc->loadHTML($html);から@も削除して、出力されるエラーを確認してください。それはあなたがその時点で失敗したものを練習するのに役立ちます。

+0

Kirsty Wright。はい、POSTパラメータが設定されていることを確認しました。私はページをリフレッシュしなかった。代わりに、前のページのフォームにもう一度記入して、すべてのPOSTパラメータが値を取得するようにしました。 これは「@」を削除した後に余分に得られるものです。 警告:DOMDocument :: loadHTML():行12のC:\ xampp \ htdocs \ instaDP \ php \ process.phpに入力として空の文字列が入力されました –

関連する問題