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

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

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

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

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

Q&A

1回答

1353閲覧

SoftBank Creative社のPHP入門での最終タスク

Shuzergabi-n

総合スコア17

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

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

0グッド

0クリップ

投稿2018/04/16 09:33

SoftBank Creative社の「基礎からのPHP」での最終タスクをしています。
PART5のg_up_set.phpを学習中です。
内容としては、会員制のサイトに画像をアップロードして閲覧できるようにする内容です。
ただ、見よう見まねでコードを書き写したのですが、jpeg画像がアップロードされません。

下記にコードを記載しますがどこかができない原因なのでしょうか。

現段階では、 Undefined variable: fileとで出まして、そもそも定数が認識されていませんようです。
初学者です。
環境は、
=============
Win10
サブライムテキスト
XAMPP を使用してます。
=============

<?php session_start(); ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html;charset=UTF-8" > <title>愛鳥獣写真館momoへ!</title> </head> <body> <?php if(isset($_SESSION["us"]) && $_SESSION["us"] != null ){ if (isset($_FILES["myf"])) { $file = $_FILES["myf"]; }
if($_POST['myn'] <> "" && $_POST['mym'] <> "" && $file['size'] > 0 && ($file['type'] == 'image/jpeg' || $file['type'] == 'image/pjpeg') && (strtolower(mb_strrchr($file['name'], '.', FALSE)) == ".jpg")) { var_dump($file); if($file['size'] > 1024 * 1024){ unlink($file['tmp_name']);

?>

<p>アップするファイルのサイズは1MB以下にしてください</p> <p><a href="g_up.php">アップロード画面に戻る</a></p> <?php }else{ $ima = date('YmdHis'); $fn = $ima . $file['name']; move_uploaded_file($file['name'], './gz_img/'.$fn); $my_nam = htmlspecialchars($_POST['myn'],ENT_QUOTES); $my_mes = htmlspecialchars($_POST['mym'],ENT_QUOTES); $motogazo = imagecreatefromjpeg("./gz_img/$fn"); list($w,$h) = getimagesize("./gz_img/$fn"); $new_h = 200; $new_w = $w * 200 / $h; $mythumb = imagecreatetruecolor($new_w, $new_h); imagecopyresized($mythumb, $motogazo, 0, 0, 0, 0, $new_w, $new_h, $w, $h); imagejpeg($mythumb,"./gz_img/thumb_$fn"); print "<p>" . $file['name']. "のアップロードに成功!<br> <img src ='./gz_img/thumb_$fn'></p>"; require_once("db_init.php"); $ps = $db->prepare("INSERT INTO table1 (nam, mes, ope, gaz, dat) VALUES (:v_n,v_m,1,:v_g,:v_d) "); $ps->bindParam(':v_n',$my_nam); $ps->bindParam(':v_m',$my_mes); $ps->bindParam(':v_g',$fn); $ps->bindParam(':v_d',$ima); $ps->execute(); print "<a href=g.php>一覧表示へ</a>"; } }else{ ?> <p>名前とメッセージを入力しjpegファイルを選択してください<br> <a href="g_up.php">再度アップロード</a></p> <?php } }else{ session_destroy(); print "<p>ちゃんとログオンしてね!<br> <a href='g_logon.html'>ログオン</a></p>"; } ?> </body> </html>

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

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

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

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

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

guest

回答1

0

php

1if (isset($_FILES["myf"])) { 2 $file = $_FILES["myf"]; 3}

php

1if (array_key_exists("myf", $_FILES)) { 2 $file = $_FILES["myf"]; 3}

にしてみるとか?
配列の配列なので、指定のキーが存在するかどうか、という判定のほうが妥当な気がする。

投稿2018/04/16 10:34

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

Shuzergabi-n

2018/04/16 10:43

ご回答ありがとうございます。さらなる質問なのですが、 ================== if (isset($_FILES["myf"])) { $file = $_FILES["myf"]; } を ================== こちらの箇所は自身のコード箇所には見当たらなかったのですが、 どのように応用すればいいでしょうか?
退会済みユーザー

退会済みユーザー

2018/04/16 11:10

if(isset($_SESSION["us"]) && $_SESSION["us"] != null ){ の行のすぐ下にありますけど?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問