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

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

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

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

Q&A

解決済

2回答

4449閲覧

FuelPHP 画像をアップロードできない。そもそもUpload::get_files()が空の配列になる。

K_T_T_K

総合スコア231

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

0グッド

0クリップ

投稿2015/07/16 09:18

編集2015/07/16 12:56

print_r($getfile);
とすると、中身が空の配列が返ってきます。
うまくアップロードできずに困っています。
何か解決策アドバイス宜しくお願いします。

PHP 5.5
CentOS 6.6
Nginx
Mysql 5.1

※articles class等・他のメソッドは省略致します。

uploadメソッド

public function action_upload() { // 未ログインの場合、ログインページへリダイレクト if (!Auth::check()) { Response::redirect('articles/'); } // ビューに渡すデータの配列を初期化 $data = array(); if (Input::file('upload.name')) { // アップロード用初期設定 $config = array( 'path' => ‘http://開発中サイトのドメイン' .'assets/img/', 'randomize' => false, 'ext_whitelist' => array('JPG', 'jpg', 'jpeg','gif','png'), ); // アップロード基本プロセス Upload::process($config); // 検証 if (Upload::is_valid()) { // 設定を元に保存 Upload::save(); // 保存先のパス/ファイル名を変数に入れる $getfile = Upload::get_files(); print_r($getfile); exit(); } else { // ファイルがアップロードできなかった時、メッセージフラッシュセッションをセット Session::set_flash('uerr', 'ファイルが正しくアップできませんでした'); // 投稿を中断して、入力画面にリダイレクト Response::redirect('articles/'); } } $this->template->title = ''; $this->template->content = View::forge('articles/upload', $data); }

Views upload.php

<?php echo Form::open(array('name' => 'upload', 'enctype'=>'multipart/form-data','method'=>'post')); ?> <?php echo Form::file('upload',array('name' => 'upload', 'class'=>'span4','id' => 'selectImage')); ?> <input type="submit" name="submit" value="投稿する" class="btn btn-info mt20"> </form>

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

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

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

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

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

guest

回答2

0

自己解決

ファイルのアップロード先がおかしかったみたいでした。
お騒がせ申し訳ありません。

投稿2015/07/16 13:13

K_T_T_K

総合スコア231

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

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

0

Views upload.php の内容はそれで全てですか?
formの開始タグがどうなってるのか、わたし気になります。enctype="multipart/form-data" つけてます?

投稿2015/07/16 10:44

druid654321

総合スコア46

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

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

K_T_T_K

2015/07/16 10:55

<?php echo Form::open(array('name' => 'upload', 'enctype'=>'multipart/form-data','method'=>'post')); ?> と記述しています。
druid654321

2015/07/16 11:01

とするとアップ先ディレクトリのパーミッションが適切でないのかもしれませんね
K_T_T_K

2015/07/16 13:14

回答ありがとうございました! パーミッションも適切でしたので、まさかと思い、アップロード先を編集してみたらすぐにできてしまいました。。 お騒がせ申し訳ありませんでした。 ありがとうございます!
toru81

2015/07/16 13:23

'path' => ‘http://開発中サイトのドメイン' .'assets/img/', ↓ 'path' => DOCROOT .'assets/img/', ではどうでしょうか? また、Webサーバの実行ユーザにディレクトリの書き込み権限はありますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問