エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


ECCUBEでアップロードできない。upload_max_filesizeを設定する場所

      2017/03/10

ECCUBEでテンプレートファイルがアップロードできない場合の対処方法

 

ECCUBEで「テンプレートファイルがアップロードされていません」のエラーが出た

 
この記事は、ECCUBEでテンプレートファイルをアップロードしようとして、うまくアップロードできない不具合の対処方法の解説記事です。
 
より具体的には、ECCUBEでテンプレートファイルをアップロードしようとしたところ、ファイルの容量が原因でエラーが出た、という場合の対処方法です。
 
20141127_php_01
 
ECCUBEでテンプレートファイルをアップロードしようとしたところ、「※ テンプレートファイルがアップロードされていません。」と表示されます。
ファイルを選択しても表示されます。
 
「※ テンプレートファイルがアップロードされていません。」と表示されますが、これはファイルの容量が大きくてアップロードできないことで起こるエラーです。
 
 
これは ECCUBEのプログラムの中でファイルの容量制限に引っかかっているわけではなく、PHPの設定側でファイルの容量制限に引っかかっているため、そのエラーの処理をうまく ECCUBE側で受け取れていないため、アップロードされたファイルの情報を受け取ることができず、「テンプレートファイルがアップロードされていません。」というエラーとなっているエラーメッセージなのです。
 
 


 

ECCUBEのファイルアップロード容量を拡張させる

 
エラーの原因は、ファイルのアップロード容量制限より大きなファイルをアップロードしようとしていることです。
 
そのため、対応としては、ファイルのアップロードファイルサイズの制限を拡張させる設定を行います。
 
1.ECCUBEの設定を変更する
2.php.iniの設定を変更する
 
 

ECCUBEの設定を変更する(.htaccess)

 
ECCUBEをインストールすると、.htaccessがせってされ、それによってファイルのアップロードできるファイルのサイズ制限が設定されます。
 
「システム設定」-「システム情報」で表示される phpinfo()の情報を見ると、下記の様になっています。
 
20141127_php_02
 
右側の「Master Value(php.ini)」の設定は 64MBであるものの、左側の「Local Value(ECCUBE)」の設定は 5MBになっていることが分かります。
 
これを「Master Value(php.ini)」と同じ 64MBに合わせることで解決します。
ここでは、php.iniの設定が 64MBですのでそれに合わせていますが、いくつに設定しても問題ありません。.htaccessで設定した値は、php.iniで設定した値より優先して反映されますので、php.iniの値にこだわる必要は全くなく、それ以上の数値でも全く問題ありません。
 
 
具体的に設定する値は、ECCUBE内の 「/html/.htaccess」にあります。
 
下記のような記述になっていますので「5M」の部分を「64MB」などに修正するといいでしょう。
 

 
修正して保存すればOKです。先ほどの「システム設定」-「システム情報」で表示される phpinfo()の情報ページをリロードすると設定情報が反映されていることが分かると思います。
 
 
続けて、「※ テンプレートファイルのファイルサイズは10MB以下のものを使用してください。」のエラーが出る場合は、「ECCUBEでテンプレートファイルのファイルサイズは10MB以下のものを使用してくださいのエラーが出た場合」に続きの記事を書きましたので参考にしてください。
 
 

php.iniの設定を行う

 
一般的にファイルのアップロードファイルサイズの制限を拡張させる場合は、php.iniの設定を行います。
 
ECCUBEでは、上記で説明したように .htaccessで設定を行います。
.htaccessで設定した情報は、php.iniで設定した情報より優先して反映されますので、ここで説明する php.iniの設定をしても反映されませんが、一般的にはこういう設定を行います、という説明をしておきます。
 

 
サーバにおいてある php.iniファイルを探して、上記の「memory_limit」「post_max_size」「upload_max_filesize」の場所を検索して設定を確認します。
 
それぞれの項目は下記のような意味になります。
 
memory_limit
PHPで利用できるメモリ使用量の上限を設定します。
 
post_max_size
一度に POSTできる最大のサイズを設定します。
ここでは複数のファイルを送信する場合などは全部まとめて 1回での POSTの最大値を設定します。
 
upload_max_filesize
1ファイル当たりの最大ファイルサイズを設定します。
 
また、php.iniのおいてある場所はサーバの設定によって違いますので、分からない場合はサーバ会社などにご確認ください。
また、レンタルサーバの場合は、管理画面(コントロールパネル)から更新できるようになっているサーバもあります。

 - PHP・Smarty・ECCUBE

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

JSON形式の値を配列形式に変換・PHPでは json_decode()、json_encode()
JSON形式の値を配列形式に変換・PHPでは json_decode()、json_encode()

JSONとは「JavaScript Object Notation」の略でテキストベースのデータフォーマット。JSONの値をPHPで配列に変換するWebツールの紹介とその処理「json_encode()」「json_decode()」関数の解説。

複数銘柄を指定して株価チャートを一覧するツール公開

入力銘柄の5日間、3か月間、6か月間、1年間、2年間の株価チャートを一覧表示しますのでチャートで売買判断をするのに最適です。

ECCUBEの新規追加ページがInternal Server Error・Not Foundに

ECCUBEで新規追加したページがInternal Server Errorに!原因はファイルのパーミッションの場合が多くその対処方法とプログラムの修正ポイントを解説。Not Foundも解説。

路線・駅検索をPHPで実装する方法解説。GoogleMapsの緯度経度から計算し検索
路線・駅検索をPHPで実装する方法解説。GoogleMapsの緯度経度から計算し検索

路線・駅検索の仕組みの構築は大変。登録する側も最寄り駅が多い場合は大変。なので簡易に実装するため緯度経度に基づき直線距離を計算する処理を考案して実装して、その処理を解説。

PHP range関数を使って階乗と重複組み合わせを計算

PHPの range関数を使って階乗と重複組み合わせを計算し、それを元に乱数発生器を作成しました。

PHPパーミッション変更のchmod関数・モードを変数で指定する方法

パーミッション変更関数であるchmod関数の第二引数、ファイルモードの指定に変数を使う場合は8進数に変換するoctdec関数を使って変換します。

ob_start、ob_get_contents関数でPHPの標準出力をバッファリング・変数に代入

標準出力をバッファリングし変数に代入することができるob_start()関数の解説。include()の処理をバッファリングすることで自由な場所に処理を記述することが可能。

PHPのソースで見慣れない記号が出てきた・アロー演算子(->)、ダブルアロー演算子(=>)

PHPのプログラムソースには見慣れない記号が出てきます。その意味や調べ方です。

ECCUBEでテンプレートファイルのファイルサイズは10MB以下のものを使用してくださいのエラーが出た場合

テンプレートをアップロードする際にファイルサイズが大きすぎてエラーが表示される際の対処方法解説。パラメータ設定で設定する制限について解説を行っています。

ECCUBEでカード決済NGの受注情報をマイページ購入履歴に表示しない方法解説

ECCUBEでカード決済に失敗しても購入履歴一覧に注文情報(受注情報)が表示される問題への対処方法を解説。受注情報レコードの作成の流れとステイタスについても解説。