My days of...

生活のことなど、がんばろう

CodeIgniterで10Mを超えるファイルをフォームを使ってアップロードさせようとしたら失敗してしまう

CodeIgniter3で、ファイルのアップロードを行うようなフォームを作成したのだが、ファイルサイズが10Mを超えると、フォームが動かなくなった。ファイルのサイズはある程度の予想で、10.2メガくらいのファイルをアップロードさせようとしてsubmitボタンを押すと、そのままフォームがリロードしたような画面になってしまう。

php.iniを

upload_max_filesize = 20M
max_file_uploads = 20
memory_limit = 512M

と変更したがダメ。8.7Mくらいのファイルならアップロードできるのだが、なぜだろう・・・?

image_lib ライブラリを使っているからだろうか?

アップロードしたファイルをメールに添付して送信するのに、uploadライブラリを使わず、image_libライブラリで画像のサイズを変更し、画像のクオリティなどを加工してからテンポラリフォルダに一旦保存し、それをメールに添付して送信送信が成功したらテンポラリフォルダに入れてあるファイルをunlink関数で削除するやり方が変なのかな?

 

気づけばプロ並みPHP 改訂版--ゼロから作れる人になる!

気づけばプロ並みPHP 改訂版--ゼロから作れる人になる!

 
詳細! PHP 7+MySQL 入門ノート

詳細! PHP 7+MySQL 入門ノート

 

 

CodeIgniterのチュートリアルで詰まったのは、配列で複数取得することがわかっていなかったから?

今更ながらCodeIgniter3チュートリアルをやっています。

News section — CodeIgniter 3.1.3 documentation
日本語はこっち

CodeIgniterはPHPフレームワークで現在4が開発中っぽい。簡単軽量という触れ込みがあり、割と楽で緩めの感じがいいといえば良いという印象。

チュートリアル内のニュースセクションでコントローラーで、

public function view($slug = NULL)
{
  $data['news_item'] = $this->news_model->get_news($slug);

  if (empty($data['news_item']))
  {
   show_404();
  }
  $data['title'] = $data['news_item']['title'];

  $this->load->view('templates/header', $data);
  $this->load->view('news/view', $data);
  $this->load->view('templates/footer');
}

 と記事を1つ取り出すのですが、これだとエラーに。「?」と思いながら、モデルに描いたget_news()がおかしいのかと考えて、

public function get_news($slug = FALSE)
{
  if ($slug === FALSE)
  {
   $query = $this->db->get('news');
   return $query->result_array();
  }

  $query = $this->db->get_where('news', array('slug' => $slug));
  return $query->row_array();
}

を確認。$query->row_array()で返ってきている値をprint_rで確認したら、

Array ( [0] => Array ( [id] => 2 [title] => test2 [slug] => test2 [text] => 2つ目のテスト記事。))

な感じで最初に「0」が含まれてた。配列で返るのだから当然といえば当然だったのですが、チュートリアルで間違いなの?それとも動作が変わったけどチュートリアルは古いまま?

いずれにせよ、配列で帰ってくるので、単一の記事を取得する場合には、一番始めの値であれば「0」が必要であるし、そうでなくslugとなっているので、複数取得することを前提としているのであれば、foreachなどを利用する必要があるなと思った次第でした。

 

CodeIgniter徹底入門

CodeIgniter徹底入門

 
はじめてのフレームワークとしてのFuelPHP 改訂版

はじめてのフレームワークとしてのFuelPHP 改訂版

 

 

耳を塞がないイヤカフで聴けるイヤフォン

耳を塞がないイヤフォンの登場ですって。

av.watch.impress.co.jp

ambie(アンビー)/ 耳を塞がず音を楽しむ

駅のアナウンス、車の接近、職場の電話の着信音など周囲の音も聞き取れるスグレモノに見えます。イヤホンを外さずに、やり取りができるのもいいですね。なんか、年齢の上の方からイヤホン外せ!礼儀が〜なことも言われそうです。

ただ、防水・防滴仕様ではなく、自転車で使うのにもオススメしないそう。

Amazonで探してみたんですが、見つかりませんでした。

【送料無料】ambie Sound earcuffs My Heart White(My Heart White) - ITEM - CHALIE VICE

購入できるのはこちらなんでしょうか。価格は5,940円。BlueToothでないので有線です。少し面白そうなものが出てくるのを知るのは楽しいですね。

 

 

ベストノートパソコン2017は?

CNETでベストノートパソコン2017が発表されていました。

  1. Apple MacBook Pro with Touch Bar (13-inch, 2016)
  2. Dell XPS 13 2-in-1
  3. Apple MacBook (2016)
  4. HP Spectre x360 (late 2016)
  5. Razer Blade Stealth
  6. Origin PC Evo 15-S
  7. Microsoft Surface Pro 4
  8. Lenovo Miix 510

タッチバー付きApple MacBook Proが1位という結果でした。タッチバーついてもどうなの?みたいな感想をよく見かけた気がしましたが、CNETでは大人気のようです。

2位にはDell XPS 13 2 in 1。ヒンジが新しくなっているようで、モニターの映りもよいタブレットにもノートパソコンにもなる1台。

パナソニック東芝が入っているかと思ったら、全く入らずで、ノートパソコンは、アップル、Dell、HP(ヒューレットパッカード)、マイクロソフトLenovoなどを購入する方がいいのかも。

 

 

Yahooショッピングでこの冬の寒波で売れた商品が紹介

この冬、雪が多いので結構寒いなぁ・・・と感じることも多いのですが、「ECのミカタ」よりこんな記事が。

www.ecnomikata.com

防寒グッズや調理器具、加湿器などが売れているそうです。面白いですね。確かに乾燥していると感じているので、部屋の中に加湿器を置いて湿度をある程度保ちたいです。指や顔の肌がカサカサになってしまい、あかぎれとかになりそう。

興味深いのは、スキーセットが売れているということ。スキーよりも今はスノーボードじゃないの?と思ったが、そうでもないよう。逆にスノーボードの人気が落ちているのかもしれない、とも考えられる。全体に雪で遊ぶレジャーが寒いからの理由でちょっと敬遠されているのだろうか。

 しかし、これからは、花粉症対策グッズが流行るのだろうか。関東地方など一部の地域で花粉が飛散しているといったニュースも流れたことだし。

環境省のサイトで花粉の飛散状況がリアルタイムでわかる環境省花粉観測システム(はなこさん)。それに、今年の花粉量は例年の4倍とか。気をつけないと。

 

ノーズマスクピットR 14個入

ノーズマスクピットR 14個入

 
アレルシャット 花粉イオンでブロック 160回分

アレルシャット 花粉イオンでブロック 160回分

 

 

アメリカのアマゾンのダッシュボタンがアプリに

アメリカのAmazon.comの新サービス。日本でも最近導入されたばかりのダッシュボタンのアプリ版を提供開始というニュース。

shopping-tribe.com

ボタンは対象商品を購入した場合に自動で追加されるほか、各商品ページにある「Add to your Dash Buttons」から自分で追加することもできる。 対象となるのはプライム配送に対応した商品で、定期的に購入する可能性が高い商品と判断された場合に自動で追加されるようだ。

 プライム配送に対応した商品がこのダッシュボタンに追加されるということは、いくらでも増やせるということ。そしてAmazon.comに商品を出品している企業やお店は、プライム配送に対応しなければ、このサービスの恩恵を受けることができず、売り上げを逃してしまう可能性がある、ということ。

購入頻度が定期的な日用品などが主な対象商品だが、そういう商品は大抵の場合、粗利が低かったりするので、これを導入しても利益が増えるのだろうか?売り上げを伸ばすのには必要な措置で、益々アマゾンプライムは出店側にとって重要なものとなりそう。

日本でもこのサービスは始まるのだろうか・・・?

 

ブラウン Dash Button

ブラウン Dash Button

 
オールフリー Dash Button

オールフリー Dash Button

 
シーバ Dash Button

シーバ Dash Button

 

 

Code signing is required for product type 'Application' in SDK 'iOS 10.2' とかいうメッセージが出てシミュレータとかビルドができなかった

Xcodeを使っていて、

Code signing is required for product type 'Application' in SDK 'iOS 10.0'

こんな感じの赤い!でエラーメッセージが出てきてシミュレータが動かない。。。

 その際に役に立ったのがstackvverflowのこの記事

stackoverflow.com

やることは

  1. TARGETSのGeneral内のSigningのAutomatically manage Signingのチェックを外す
  2. TARGETSのBuild Settingsをクリック
  3. SigningのCode Signing IdentityをiOS Developerに変更
  4. XcodeツールバーのProduct > Cleanをクリック

これでエラーメッセージが消えシミュレーターが動きました。

よかった。

 

本気ではじめるiPhoneアプリ作り Xcode 8.x+Swift 3.x対応 (ヤフー黒帯シリーズ)

本気ではじめるiPhoneアプリ作り Xcode 8.x+Swift 3.x対応 (ヤフー黒帯シリーズ)

 
詳解 Swift 改訂版

詳解 Swift 改訂版