1

スクリプトを実行すると、次のエラーが表示されます php cannot be displayed because it contains errors

スクリプトは、ファイルを取得し、サイズを変更して画面とファイルに出力します。

url_example:localhost/testimage.php?img=img_592_121_200.jpg

私はほとんどの投稿を読み、提案された解決策を試しました。すべて失敗

ファイルは画面/ブラウザに出力されませんが、ファイルに保存できます。

これがコードです。すべての空白と空の行を取り除きました。スクリプト内にファイル名をハードコーディングしました

**それが私のセットアップであると疑い始めていますが、どのように/どこから探し始めればよいかさえわかりません

編集:画面のみに出力するように簡略化

testimage.php

<?php
//session_start();
//ob_start();
ini_set("display_errors", "1");
error_reporting(E_ALL); 
Header('Content-type:image/jpeg');
//$cacheFile="mypicXXX.jpg";
//$cache_dir="cache/1/592/";
$img_dir="webspace/1/592/";
$img="img_592_121.jpg";
$id="$img_dir$img";
$src=imagecreatefromjpeg($id);
$new_width=200;
$new_height=77;
$width=600;
$height=1001;
$w_src=600;
$h_src=1001;
$img=imagecreatetruecolor($new_width,$new_height);
imagecopyresampled($img,$src,0,0,0,0,$new_width,$new_height,$w_src,$h_src);
imagejpeg($img,NULL,45);
//$cacheFile=$cache_dir.$cacheFile;
//imagejpeg($img,$cacheFile,45); 
imagedestroy($src);
imagedestroy($img);
//ob_end_flush();
?>
4

2 に答える 2

1

修理済み。(少なくとも私にとって)修正は、ファイルを"UTF-8 - NO NOM"として保存することでした。「UTF-8」として持っていた前に

このファイル形式全体が私を混乱させます。近日中にそれを読む必要があります

助けてくれてありがとう!!!

于 2013-02-17T20:51:23.607 に答える
0

ヘッダーの前に出力が送信されないことを確認しましたか? あなたが試すことができるいくつかのこと:

  1. header() 関数を一番上に移動します。
  2. キャッシング (ob_start) を削除し、最初にキャッシングなしで機能するかどうかを確認します。
  3. ob_start を使用しているので、ob_end_flush(); も使用したいと思います。最後に?
  4. ファイルに書き込む代わりに RAW 出力を行うには、imagejpeg() の 2 番目のパラメータとして NULL を使用してみてください。(書き込み権限に関連している可能性があります)

更新 あなたが指しているファイルが存在すること、またはパスが有効であることを確認しましたか? これは私のローカルホストで動作し、デフォルトの xamp インストール (PHP3.5.1) を実行しています

ini_set("display_errors", "1");
error_reporting(E_ALL);
Header('Content-type:image/jpeg');
//$cacheFile="mypicXXX.jpg";
//$cache_dir="cache/1/592/";
$img_dir="webspace/1/592/";
$img="test.jpg";
$src=imagecreatefromjpeg($img);
$new_width=200;
$new_height=77;
$width=600;
$height=1001;
$w_src=600;
$h_src=1001;
$img=imagecreatetruecolor($new_width,$new_height);
imagecopyresampled($img,$src,0,0,0,0,$new_width,$new_height,$w_src,$h_src);
imagejpeg($img,NULL,45);
//$cacheFile=$cache_dir.$cacheFile;
//imagejpeg($img,$cacheFile,45);
imagedestroy($src);
imagedestroy($img);
于 2013-02-17T10:04:54.650 に答える