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

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

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

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

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

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

1回答

274閲覧

phpで画像をアップロードする

sorata_toll

総合スコア19

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

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

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

0クリップ

投稿2019/04/13 14:53

前提・実現したいこと

PHPで画像をアップロードするシステムを作っています。
画像をアップロードするシステムを実装中に以下のエラーが発生しました。

発生している問題・エラーメッセージ

指定したファイルに画像がないです。

該当のソースコード

PHP

1<?php 2session_start(); 3 4if (!empty($_POST)) { 5 // エラー確認 6 if ($_POST['name'] == '') { 7 $error['name'] = 'blank'; 8 } 9 if ($_POST['email'] == '') { 10 $error['email'] = 'blank'; 11 } 12 if (strlen($_POST['password']) < 4) { 13 $error['password'] = 'length'; 14 } 15 if ($_POST['password'] == '') { 16 $error['password'] = 'blank'; 17 } 18 $fileName = $_FILES['image']['name']; 19 if (!empty($fileName)) { 20 $ext = substr($fileName, -3); 21 if ($ext != 'jpg' && $ext != 'gif') { 22 $error['image'] = 'type'; 23 } 24 } 25 26 if (empty($error)) { 27 // 画像をアップロードする 28 $image = date('YmdHis') . $_FILES['image']['name']; 29 move_uploaded_file($_FILES['image']['tmp_name'], '../member_picture/' . $image); 30 31 $_SESSION['join'] = $_POST; 32 $_SESSION['join']['image'] = $image; 33 header('Location: check.php'); exit(); 34 } 35} 36// 書き直し 37if ($_REQUEST['action'] == 'rewrite') { 38 $_POST = $_SESSION['join']; 39 $error['rewite'] = true; 40} 41?> 42<!DOCTYPE html> 43<html lang="ja"> 44 <head> 45 <meta charset="UTF-8"> 46 <title>----タイトル----</title> 47 <meta name="description" content="----説明----"> 48 <meta name="viewport" content="width=device-width"> 49 <link rel="stylesheet" href="../css/style.css"><!--場所指定--> 50 </head> 51 <body> 52 <main> 53 <div class="main-container"> 54 <div class="maincol"> 55 <div class="maincol-container"> 56 <h1>登録ページ</h1> 57 <form action="" method="post" enctype="multipart/from-data"> 58 <dl> 59 <dt>アカウント名<span class="required"> 必須</span></dt> 60 <dd><input type="text" name="name" size="35" maxlength="255" value="<?php echo htmlspecialchars($_POST['name'],ENT_QUOTES,'UTF-8'); ?>"> 61 <?php if ($error['name'] == 'blank'): ?> 62 <p class="error">*アカウント名を入力してください。</p> 63 <?php endif; ?> 64 </dd> 65 <dt>Email<span class="required"> 必須</span></dt> 66 <dd><input type="text" name="email" size="35" maxlength="255" value="<?php echo htmlspecialchars($_POST['email'],ENT_QUOTES,'UTF-8'); ?>"> 67 <?php if ($error['email'] == 'blank'): ?> 68 <p class="error">*Emailを入力してください。</p> 69 <?php endif; ?> 70 <dt>パスワード<span class="required"> 必須</span></dt> 71 <dd><input type="password" name="password" size="10" maxlength="20" value="<?php echo htmlspecialchars($_POST['password'],ENT_QUOTES,'UTF-8'); ?>"> 72 <?php if ($error['password'] == 'blank'): ?> 73 <p class="error">*パスワードを入力してください。</p> 74 <?php endif; ?> 75 <?php if ($error['password'] == 'length'): ?> 76 <p class="error">*パスワードは4文字以上で入力してください。</p> 77 <?php endif; ?> 78 <dt>アイコン</dt> 79 <dd><input type="file" name="image" size="35"> 80 <?php if ($error['image'] == 'type'): ?> 81 <p class="error">* 写真などは「.gif」または「.jpg」の画像を指定してください</p> 82 <?php endif; ?> 83 <?php if (!empty($error)): ?> 84 <p class="error">* 恐れ入りますが、画像を改めて指定してください</p> 85 <?php endif; ?> 86 </dd> 87 </dl> 88 <div><input type="submit" value="入力内容を確認する"></div> 89 </div> 90 </div> 91 </div> 92 </main> 93 <hr> 94 </body> 95</html> 96

試したこと

相対パスが間違ってると思ったらcssは読み込めてました。

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

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

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

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

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

guest

回答1

0

ベストアンサー

typo

multipart/from-datamultipart/form-data

投稿2019/04/13 14:55

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

sorata_toll

2019/04/13 14:58

ありがとうございます、解決しました!
退会済みユーザー

退会済みユーザー

2019/04/13 14:58

ide使いましょう
sorata_toll

2019/04/13 15:01

そうですね。なにかオススメのものはありますか?
退会済みユーザー

退会済みユーザー

2019/04/13 15:02

PHPStorm
sorata_toll

2019/04/13 15:10

ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問