プロが教える店舗&オフィスのセキュリティ対策術

PHP初心者です。以下のスクリプトを参考書を参考に記述しました。リンクでtmpfileが表示されるのはわかるのですが、このファイルに画像を表示するにはどうしたらいいですか?<img src="">で表示されなかったので、他に表示方法はあるのですか?また画像を表示したときにimagecopyresampled();を使ってサイズを設定したいと思っています。
<?php
print <<<HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<title>ファイルのアップロード</title>
</head>
<body>
<p>ファイルのアップロード</p>
<form method="post" enctype="multipart/form-data" action="index.php">
<input type="hidden" name="maxfilesize" value="10000" />
アップする写真データ<br>
<input size="30" type="file" name="upfile" /><br />
<input type="submit" name="submit" value="送信" />
<input type="reset" name="reset" valuie="リセット" />
</form>
HTML;
if($submit !=""){
if($submit == "none"){
print"ファイルのアップロードができませんでした。";
exit;
}
copy($upfile,"tmpfile.txt");
print"アップロードされたファイルの情報<br>";
print"ファイル名:$upfile_name<br>";
print"ファイルサイズ:$up_size<br>";
print"ファイルタイプ:$up_type<br>";
print"<a href=\"tmpfile\">ファイルへリンク</a><br>";

}
print <<<HTML
</body>
</html>
HTML;
?>

A 回答 (1件)

>copy($upfile,"tmpfile.txt");



サーバ環境がどの様なものなのか分からないですが、
上記の場合、copy先パスが原因でコピーが正常にされていない可能性があります。

copy($_SESSION['upfile']['tmp_name'],"/var/www/homepage1/imagefile.jpg");

等として、一時ファイルをユーザースペースにコピーするか、
一時ファイルをサイズ変更してユーザースペースにファイル作成する必要があります。
レンタルサーバの場合、パスはphpinfo()にてSCRIPT_FILENAMEを見れば分かるかとは思います。

一時ファイルは通常、スクリプト終了時に破棄されますので、
いずれかの方法で移しなければなりません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!