0

画像のサイズを変更するためのスクリプトを使用しています。エラーが発生しているようです:

エラー: 画像が指定されていません。
おそらく、スクリプト (image.php) 内の次のコードが原因です:

    if (!isset($_GET['image']))
    {
        header('HTTP/1.1 400 Bad Request');
        echo 'Error: no image was specified';
        exit();

}

これが私がやっていることです(profile.php) :

$your_image = $row['Image'];
$path_to_image = $row['PortraitPath'];
$width = 100;
$height = 100;

echo "<img src=\'/image.php/{$your_image}?width={$width}&amp;height={$height}&amp;cropratio=1:1&amp;image={$path_to_img}\' alt=\'Alt text goes here.\' />";

したがって、MySQL テーブルから$your_imageとを読み取り、 . 上記のように、明らかに画像が設定されていないため、最初のエラーが発生しています。私が得られないのは、画像が実際に私のコードでどのように設定されるのでしょうか? 実際の画像を表示しているだけではありませんか?画像が単に表示されている場合、画像はどのように設定されるのでしょうか? ありがとうございました。$path_to_imageimg sourceimg src

4

4 に答える 4

0

私が気付いたいくつかのことは、ここに投稿する前にあなたがどれだけのコードを変更したかわからない...

1a)二重引用符を使用して囲む場合は、一重引用符をエスケープしないでください。

また

1b)エスケープされた一重引用符をエスケープされた二重引用符に変更します。

2)使用しているURLで$path_to_img、定義した変数はです$path_to_image。それらを一貫性のあるものにします。

于 2010-07-22T00:59:09.187 に答える
0

画像の URl には が含まれています?foo=bar&this=that&image=path。これらの変数は、$_GET 配列で image.php スクリプトに渡されます。

于 2010-07-21T20:01:53.870 に答える
0

画像の代わりに php ファイルを取得したい場合は、php ファイルに出力が画像であることを伝える必要があります。これは、次のように php の header() 関数を使用して行うことができます。

header('Content-type: image/jpeg');

ここにいくつかの参照があります: phpヘッダー関数

あなたが指しているアドレスについて、少し奇妙ではありませんか?.php の直後にスラッシュがあります。これは、何らかのフォルダーにアクセスしようとしていることを示しています...この URL をテストして、実際の画像が画面に出力されているかどうかを確認しましたか?

これがあなたを助けることを願っています=)

于 2010-07-21T20:11:16.120 に答える
0

警告の言葉として、あなたprofile.phpのコードで私はこのフラグメントを見ました:

image={$path_to_img}

$_GET['image']この値の扱い方によっては、 RFIの脆弱性が発生する可能性があります。image.phpユーザーは、独自の「イメージ」パスを使用してGET リクエストを偽造できます。

于 2010-07-21T20:18:02.243 に答える