2

イメージをサーバー側の tmp ディレクトリに移動し、tmp フォルダーからクライアントに送信しようとしていますが、うまくいきません。これが私が現在持っているものです。

//this is where the image resides permanently
$imgdirectory = "../" . $ms . "msimages/" . $img_filename;
//here I'm trying to get the contents of the img from its permanent location    
$content = file_get_contents($imgdirectory);
//here I'm trying to create a new temporary file
file_put_contents('/tmp/img.jpg', $content);

...

echo "img {background:url(\"/tmp/img.jpg\")-" . $xleft . "px -" . $ytop . "px";}"; this is the css trying to use file that is supposed to be in the temp folder

ページが読み込まれたときに得られるcss出力は次のとおりです

img#{width:631px;height:453px;background:url("/tmp/img.jpg")-144px -112px;}

しかし残念ながら、 にはファイルがない/tmp/img.jpgので、何かがうまく機能していないに違いありませんfile_put_contents 404 image not found

put contentsところで、 /tmpへのアクセス許可に関するエラーは発生しません。

アドバイスをいただければ幸いです。

4

1 に答える 1

2

ファイルの読み取りと書き込みの代わりにコピーを使用する

 bool copy ( string $source , string $dest [, resource $context ] )

file_put_contents('/tmp/img.jpg', $content);

サイトの tmp ディレクトリではなく、ルート tmp ディレクトリの下に配置します。

試す

file_put_contents($_SERVER["DOCUMENT_ROOT"] . 'tmp/img.jpg', $content);
于 2012-07-08T17:11:02.610 に答える