タグ

ブックマーク / php-archive.net (5)

  • [PHP]ディレクトリ内の一定時間が経過した古いファイルだけを削除する | PHP Archive

    フォルダ内の古くなったファイルだけを消すには、 filemtime() で最終更新日を取得し、unlink() で削除します。 最終更新日は Unix 時間で取得されるので削除期限の指定には strtotime() を使いました。 「24 hours ago」であれば 24 時間前より古いファイルが削除されます。 単純に 「time() – (60 * 60 * 24)」としたり、mktime() を使ったりするのも良いでしょう。 【注意】 このスクリプトを実行するとファイルが削除されます。 実行前に必ず echo などで削除対象のファイルが適切に指定されているか確認して下さい。 <?php date_default_timezone_set('Asia/Tokyo'); //削除期限 $expire = strtotime("24 hours ago"); //ディレクトリ $dir =

    kathew
    kathew 2018/04/04
    よく確認してから使うようにしよう
  • [PHP]日付から曜日を割り出す | PHP Archive

    PHP は標準関数が豊富に用意されているので、年月日がわかっていれば曜日を取得するのは難しくありません。 PHP で日付を扱う方法は主に2つあり、date() を使う方法と、PHP 5.2 以降で使用できる DateTime クラスを使う方法です。date() は古くからある方法で、ほとんどの環境で使うことが出来ますが、32bit環境でタイムスタンプ(UNIX時間)を使用する場合 2038年1月19日 までしか使用できないという欠点を抱えています。(2038年問題) ここでは将来的に主流になっていくと考えられている DateTime クラスを使った方法に絞って解説していきます。 DateTime クラスは通常通りクラスとして扱う方法と、関数のように扱える手続き型を利用する方法が用意されています。どちらも曜日は 0~6 の数字の形で返すので日語で曜日を表すには 日~土 の配列変数を作ってお

    kathew
    kathew 2017/06/16
    これはラクチン
  • [PHP]var_dump()、print_r()などの内容をファイルに保存する | PHP Archive

    配列変数の内容を確認するために var_dump() や print_r() は便利ですが、cron で動作させるプログラムが正常に動作しているか調べたいときなど、ブラウザ上に表示して確認できないことは多いと思います。 var_dump() などの内容をファイルとして保存する場合、ob_start() を使って出力のバッファリングをすると簡単に出来ます。 <?php $arr = array('test', 'sample'); ob_start(); var_dump($arr); $out = ob_get_contents(); ob_end_clean(); file_put_contents("sample.txt", $out); ob_start() と ob_end_clean() で挟まれた部分は画面上には出力されず、バッファに格納されます。 その内容を取り出すには ob

  • [PHP]クラスの基礎 メンバ変数とメンバ関数 | PHP Archive

    大規模なPHPプログラムでは必須になってくる Class なのですが、 今ひとつピンとこないので基礎からおさらいしてみようと思います。 クラスはプロパティ(メンバ変数)とメソッド(メンバ関数)を持ち、 複数の関数をひとつのグループにまとめることができます。 メンバ変数はクラス内のメンバ関数で共有して利用できる変数で、 アクセス権によって3種類に分類されます。 「public」はクラスの中でも外でも利用できます。 具体的には下記のように使います。 <?php class Test{ public $foo = 123; } $test = new Test(); echo $test->foo; 「private」はそのクラス内でしか利用できません。 上のソースの public を private に変えてみるとエラーが出るのがわかります。 private は次のように用います。 <?php

  • [PHP]文字化けせずにCSVファイルを読み込み、配列に変換する | PHP Archive

    CSV ファイルを読み込むとき、最もシンプルな方法は次のようなものです。 <?php $csv = array(); $file = 'test.csv'; $fp = fopen($file, "r"); while (($data = fgetcsv($fp, 0, ",")) !== FALSE) { $csv[] = $data; } fclose($fp); var_dump($csv); fgetcsv() を用いて単純に一行ずつ処理しています。 プログラム側と CSV ファイルの文字コードが同じであればこの方法でもいいのですが、エクセルなどで作られた CSV あるいは TSV(タブ区切り)などは、Shift-JIS で保存されている場合が多いため、PHP側が UTF-8 で記述されている時、上の方法で文字コードを変換するには、mb_convert_variables() を使

  • 1