1. TOP
  2. Perl / PHP

[サーバ・PHP] さくらインターネットでComposerをインストールして、使う。

カテゴリ:
Perl / PHP
Web
サーバ
| トラックバック(0)
投稿者:yo yo

ダウンロード・インストール

  # ダウンロードする
  % curl -sS https://getcomposer.org/installer | php
  
  ## 別のダウンロード方法
  # % php -r "readfile('https://getcomposer.org/installer');" | php
  
  # 任意の場所(ホームディレクトリ/local/bin/composer)にリネームして移動
  mv composer.phar $HOME/local/bin/composer
  
  # 動作確認
  $HOME/local/bin/composer
  
  #    ______
  #   / ____/___  ____ ___  ____  ____  ________  _____
  #  / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
  # / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
  # \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
  #                     /_/
  # Composer version 1.3.2 20XX-XX-XX XX:XX:XX

必要なパッケージをインストール

ここではphp-pdfimagesの依存ファイルをインストールする

  # php-pdfimages内のcomposer.jsonを以下へ記述
  % $HOME/local/bin/composer.json
  # インストール
  % $HOME/local/bin/composer install
  
  # Writing lock file
  # Generating autoload files

[その他] ウェブAPIが使えるインターネットFAX

カテゴリ:
Perl / PHP
Web
その他
| トラックバック(0)
投稿者:yo yo

ウェブAPIが使えたり、メールの送受信によってFAXを送れるサービスメモ。

たとえば

  1. フォームに入力・送信
  2. PHPとかで整形しメール添付でネットFAXに送信
  3. そのメール添付内容をFAXで送信
  4. フォーム・fax内容をデータベースに登録

的なものを目指す。

サービス名 FAX番号 送受信 WEB API ページ単価 月額費用 初期費用
秒速FAX送信(ToonesインターネットFAX) - 株式会社Karigo 03、IP、他、既存利用可 送信 JSON形式 7~10円/枚(月5000枚以下で10円) 無料 無料
受信 JSON形式(日時、fax番号、枚数、受信元番号、送信元番号、PDF) 8円/枚・3円/枚・無料 498円・798円・980円 1,050円
InterFAX 03、既存利用可 送信 メール(添付ファイル) or XML-SOAP形式 22円/枚+税 1,000円+税(250円分送信無料) 無料
受信 メール(添付ファイル) or XML-SOAP形式(日時、fax番号、枚数、送信元番号、PDF・TIFF) 10円/枚+税(1000ページ分無料) 2,200円+税 1,500円+税
FaximoSilver - 送受信 メール(添付ファイル) or XML-SOAP形式 12円/枚+税 940円+税 1,500円+税

[php] 「ページの有効期限切れ・フォーム再送信の確認」の対策

カテゴリ:
Perl / PHP
Web
| トラックバック(0)
投稿者:yo yo

原因

  • SESSIONを使っている
  • POSTでパラメータを送信
  • ブラウザの「戻る」を押した

犯人はだれだ?

原因は、PHPでSESSIONを使うと(デフォルト設定では)自動でキャッシュ制御用のHTTPヘッダーが送出され、それによりクライアント側のキャッシュが使用不可にされるため。(参考:floatingdays: PHPでブラウザキャッシュを有効にする)

つまり、下記条件を全て満たした場合にこの現象が発生する。

  • HTTP POSTで遷移してきた。
  • SESSIONを使っている。(session_start()してるか、php.ini等でsession.auto_start=1に設定している。)
  • 次のページに行ってから、ブラウザの履歴機能(JavaScriptのhistory.back()を含む)で戻ってきた。
PHPで 「Webページの有効期限が切れてます」となる時の傾向と対策 - floatingdays

対策

方法1

session_start()する前に、session_cache_limiter('none')を書く。SESSIONを利用しても余計なHTTPヘッダが送出されない。

  session_cache_limiter('none');
  session_start();
  // フォーム

cache_limiterにnoneというパラメータは無いからパラメータエラーとなり、結果的にHTTPヘッダを送信しないという挙動になっているらしい。

PHP: session_cache_limiter - Manual

方法2 こっちが正解

header();に色々書いて、ブラウザキャッシュを表示させる。ただし、SESSIONの最新情報が入っていないので注意が必要。

  session_start();
  header('Expires:-1');
  header('Cache-Control:');
  header('Pragma:');

[PHP] 堅牢なコードの書き方メモ

カテゴリ:
Perl / PHP
Web
その他
| トラックバック(0)
投稿者:yo yo

[PHP] ローカルの日本の日付/時刻を取得する

カテゴリ:
Perl / PHP
Web
| トラックバック(0)
投稿者:yo yo

PHPマニュアルではこんな感じ

    string date ( string $format [, int $timestamp = time() ] )

http://php.net/manual/ja/function.date.php

こんな感じで使う。デフォルトのタイムゾーン設定を忘れない。パラメータはPHPマニュアルを見て適当に。

    date_default_timezone_set('Asia/Tokyo');
    $date = date('c'); // PHP5以降 → 2004-02-12T15:19:21+00:00
    $DATE_NOW = date('Y年m月d日');
ページの先頭に戻る