質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1434閲覧

print 文で画像が表示できない。

masa.net

総合スコア89

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/03/21 13:49

編集2018/03/21 22:35

move_uploaded_fileでロリポップで画像が表示されない。

わからないこと
ロリポップでは使えないのか?
画像を表示させようとするとリンク切れみたいな表示なる。
パスの設定が間違っているのかわからない。

画像ファルダは同じ階層にあります。
画像が画面に表示されてほしい。
画像サイズは小さいので関係ないと思います。

追記
move_uploaded_fileは動いています。
パスを指定できるので混乱してわけのわからないこと書いてしまいました。
print 文で画像が表示できないのです。
何も表示されないわけではなくリンク切れみたいなマークが表示されます。

ソース

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無題ドキュメント</title> </head> <body> <?php

$pro_name=$_POST['name'];
$pro_price=$_POST['price'];
$pro_gazou=$_FILES['gazou'];

$pro_name=htmlspecialchars($pro_name);
$pro_price=htmlspecialchars($pro_price);

if($pro_name=='')
{
print '商品名が入力されていません。<br />';
}
else
{
print '商品名:';
print $pro_name;
print '<br />';
}

if(preg_match('/^[0-9]+$/',$pro_price)==0)
{
print '価格をきちんと入力してください。<br />';
}
else
{
print '価格:';
print $pro_price;
print '円<br />';
}

if($pro_gazou['size']>0)
{
if($pro_gazou['size']>1000000)
{
print '画像が大き過ぎます';
}
else
{
move_uploaded_file($pro_gazou['tmp_name'],'/gazou'.$pro_gazou['name']);
print '<img src="/gazou'.$pro_gazou['name'].'">';
print '<br />';
}
}

if($pro_name=='' || preg_match('/^[0-9]+$/',$pro_price)==0 || $pro_gazou['size']>1000000)
{
print '<form>';
print '<input type="button" onclick="history.back()" value="戻る">';
print '</form>';
}
else
{
print '上記の商品を追加します。<br />';
print '<form method="post" action="pro_add_done.php">';
print '<input type="hidden" name="name" value="'.$pro_name.'">';
print '<input type="hidden" name="price" value="'.$pro_price.'">';
print '<input type="hidden" name="gazou_name" value="'.$pro_gazou['name'] .'">';
print '<br />';
print '<input type="button" onclick="history.back()" value="戻る">';
print '<input type="submit" value="OK">';
print '</form>';
}

?>

</body> </html>

ーーーーーーーーーーーーーーーーーー

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無題ドキュメント</title> </head> <body>

商品追加<br />
<br />

<form method="post" action="pro_add_check.php" enctype="multipart/form-data"> 商品名を入力してください。<br /> <input type="text" name="name" style="width:200px"><br /> 価格を入力してください。<br /> <input type="text" name="price" style="width:50px"><br /> 画像を選んでください。<br /> <input type="file" name="gazou" style="width:400px"><br /> <br /> <input type="button" onclick="history.back()" value="戻る"> <input type="submit" value="OK"> </form> </body> </html>

ーーーーーーーーーーーーーーー
気付けばプロ並みphpの116ページをロリポップのサーバで作成してます。
サンプルをコピペしたけど動かない。
本では動いた画面がある。
本はローカル環境。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

パスの指定がやはり間違っているという結論に達しました。

投稿2018/03/21 22:38

masa.net

総合スコア89

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masa.net

2018/03/21 23:30

パスの指定おかしかった。 とりあえず直で書きました。 move_uploaded_file($pro_gazou['tmp_name'],$pro_gazou['name']); print '<img src="'.$pro_gazou['name'].'">';
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問