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

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

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

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

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

0回答

420閲覧

ドットインストール PHPで画像アップロード掲示板作成で画像をアップロードするとエラーがでる。

ijichi

総合スコア12

PHP

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

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2019/09/07 14:25

編集2019/09/07 14:37
<?php namespace MyApp; class ImageUploader { private $_imageFileName; public function upload() { try { // error check $this->_validateUpload(); // type check $ext = $this->_validateImageType(); // var_dump($ext); // exit; // save $savePath = **$this->_save($ext);** // create thumbnail $this->_createThumbnail($savePath); } catch (\Exception $e) { echo $e->getMessage(); exit; } // redirect header('Location: http://' . $_SERVER['HTTP_HOST']); exit; } private function _createThumbnail($savePath) { $imagesize = getimagesize($savePath); $width = $imageSize[0]; $height = $imageSize[1]; } **private function _save($ext) { $this->_imageFileName = sprintf( '%s_%s.%s', time(), sha1(uniqid(mt_rand(), true)), $ext ); $savePath = IMAGES_DIR . '/' . $this->_imageFileName; $res = move_uploaded_file($_FILES['image']['tmp_name'], $savePath); if ($res === false) { throw new \Exception('Could not upload!'); } return $savePath; }** private function _validateImageType() { $imageType = exif_imagetype($_FILES['image']['tmp_name']); switch($imageType) { case IMAGETYPE_GIF: return 'gif'; case IMAGETYPE_JPEG: return 'jpg'; case IMAGETYPE_PNG: return 'png'; default: throw new \Exception('PNG/JPEG/GIF only!'); } } private function _validateUpload() { // var_dump($_FILES); // exit; if (!isset($_FILES['image']) || !isset($_FILES['image']['error'])) { throw new \Exception('Upload Error!'); } switch($_FILES['image']['error']) { case UPLOAD_ERR_OK: return true; case UPLOAD_ERR_INI_SIZE: case UPLOAD_ERR_FORM_SIZE: throw new \Exception('File too large!'); default: throw new \Exception('Err: ' . $_FILES['image']['error']); } } } ### 前提・実現したいこと ここに質問の内容を詳しく書いてください。 (例)PHP(CakePHP)で●●なシステムを作っています。 ■■な機能を実装中に以下のエラーメッセージが発生しました。 ### 発生している問題・エラーメッセージ ``` Fatal error: Call to undefined method MyApp\ImageUploader::_save() in /home/vagrant/upload_image_php/ImageUploader.php on line 20 ``` ### 該当のソースコード ```ここに言語名を入力 ソースコード ``` ### 試したこと エラーメッセージのline20のスペルミス、打ち間違い、半角等探したんですが、見つからず、お手本のコードをコピペしても エラーが消えず困ってます。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

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

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

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

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

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

m.ts10806

2019/09/09 01:14

コードはマークダウンのcode機能を利用してご提示ください。
退会済みユーザー

退会済みユーザー

2019/09/09 14:42

ドットインストールって講師(?)に質問できるはずじゃ
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問