WordPress短期学習プログラム
PHP(ピー・エイチ・ピー)

PHP

PHP PDFファイルのアップロード機能を追加

お客様から、

既存システムにPDFファイルをアップロードする機能を追加したという依頼を頂きました。

その機能について少し説明したいと思います。

 

まず、

ファイルの選択画面のHTMLは、

みたいになりますね。

 

それで、

ファイルのアップロード処理を行うPHP側のコードは、

みたなコードになりますね。
※かなり雑なコードですが。。。

 

これで完了であれば非常に簡単なんですが、

当然PDFファイルのアップロード機能なので、

アップロード処理を行う前に、

PDF以外のファイルをアップロードしていないかのチェックを行わないといけません。
※例えば、悪意のあるスクリプトを記述したHTMLなどをアップロードされると深刻な脆弱性になってしまうこともあるので、
 アップロードするファイルの種類が決まっているのであれば、必ずファイルのチェック処理は行って下さい。

 

で、

今回ここで問題が1点発生しました。。。

 

まずは、以下のコードで拡張子のチェックを行います。

これは問題なし!!

 

次に、以下のコードでファイルタイプのチェックを行います。

これも問題が無いように思いますが、

テストしてみるとまずい動作が見つかりました。

 

テストの為に画像(今回はJPEGファイル)の拡張子を無理やり「.pdf」に変更してアップロードしてみたのですが、

なぜかこのチェック処理を抜けてアップロードできてしまいます。

 

どうも、

$_FILES["pdf_file"]["type"]に入っているファイルタイプが、

「image/jpeg」ではなく「application/pdf」になってしまっているようです。

拡張子を無理やり変えただけのファイルまでPDFファイルとして認識されてしまうのは気持ちが悪いので、

このコードはまずいです。

 

そこで、

今回は以下のコードに書き換えてやることで、

こちらの意図通りの処理を行うことが出来ました。

 

ブログに全コードを記載するのは大変なので、

かなりおおざっぱなコードになってしまいましたが、

取りあえずこんな感じで機能追加は可能です。

弊社では、以下の方に向けて、WordPressの短期学習プログラムを
格安(15,000円~)で提供しております。

  • 個人でWordPressを使ったサイト(個人ブログやアフィリエイトサイトなど)構築をお考えの方
  • WordPressを使って副業で稼ぎたい方
  • フリーランスでWordPressを使ったお仕事をお考えの方
  • 自社でホームページの構築・運用をお考えの方
  • 企業のWEB担当者の方

内容

基本的には、初心者の方を対象にした学習プログラムです。

※ WordPress制作の上級者の方の場合、弊社の学習プログラムはあまり役に立たないと考えています。

  • ・ WordPressのインストールからセッティングの方法
  • ・ WordPressのテーマ選びについて
  • ・ WordPressのプラグイン選びと設定方法について
  • ・ サーバの準備方法
  • ・ ドメインの取得・管理の方法
  • ・ FTPの設定方法
  • など

ご用意頂くもの

  • ・ ノートPC
    ※ 弊社はWindowsを業務で利用しておりますので、できればWindowsのPCをおすすめしています。
  • WordPressでサイトの制作を考えているが、何から始めればいいのか分からない。
  • ドメインやサーバはどうやって準備すればいいの?
  • そもそもホームページの公開には何が必要なの?

などなど、

どのような内容でも構いませんので、お気軽にお問い合わせ下さい。

お客様の目的をお聞きした上で、最適の学習プランを提案致します。

ご興味のある方は、以下の内容を記載の上、一度お問い合わせ下さい。
こちらより、折り返しメールを致します。

  • ① お名前
  • ② 折り返し先のメールアドレス
  • ③ 希望の学習内容

関連記事

  1. xampp07

    PHP

    【新PCの設定④】XAMPPの設定

    続いて、XAMPPのインストールです。http://www.a…

  2. PHP(ピー・エイチ・ピー)
  3. PHP(ピー・エイチ・ピー)

    PHP

    【PHP】echoとprintのどっちを使えばいいの!?

    【PHP】文字列の出力は、echo() または print()…

  4. PHP(ピー・エイチ・ピー)

    PHP

    【PHP】FPDF PDFセル内での改行

    セル内で長い文章を改行FPDFを使っている場合、1つのセル内に…

  5. PHP

    PHPExcel エクセルをダウンロード

    PHPExcelを使ってエクセルファイルを出力する場合、ファイルを…

  6. PHP

    mb_send_mail()を使うと、機種依存文字が「?」に文字化け!!

    お問い合わせフォームにwindowsの機種依存文字である「﨑」を入力す…

最近の記事

  1. SEO(エスイーオー)
  2. WordPressプラグイン「Anti-spam」
  3. システムエラー
  4. PHP(ピー・エイチ・ピー)
  5. SONY 広角レンズ「SEL1018」
  6. PHP(ピー・エイチ・ピー)
  7. 俺流塩ラーメン
  8. SEO(エスイーオー)
  9. Linux(リナックス)
  10. Linux(リナックス)
PAGE TOP