KHN-プログラミングブログ-

PHP 関数一覧 ファイル操作系

file_get_contents()

ファイルの内容をすべて取得する。また、URLを指定してウェブサイトのソースを取得することもできる。

$str = file_get_contents('https://google.com');
echo $str;

画像のパス取得について

$path = 'test.jpg';

//file_get_contentsで画像のパスを指定
$img = file_get_contents($path);

//タイプをimage/jpegで指定
header('Content-type: image/jpeg') ;

echo $img;

応用ステータスコード

//コンテキストを設定
$con = stream_context_create(array(
  'http' => array('ignore_errors' => true)));

//URLを指定してレスポンスを取得する
$http = file_get_contents('http://www.sejuku.net/aaa', false, $con);

//ステータスコードを取得する
$code = substr($http_response_header[0], 9, 3);

//ステータスコードによって処理を分岐する
switch ($code){
  case '200':
    echo $code;
    break;
  case '404':
    echo '404 error';
    //エラー処理
    break;
  case '500':
    echo '500 error';
    //エラー処理
    break;
  default:
  break;
}

file_put_contents

ファイルに文字列を書き込む

file_put_contents($ファイル名, $データ内容[, $オプションフラグ][, $コンテキスト])

$data = "Hello World!\n";
file_put_contents("./sample.txt", $data);

sample.txtの中身を表示すると「Hello World!」の文字列が書き込まれている

basename()

ファイルやディレクトリのパスから最後にある名前の部分を返す。

$name = basename('/path/to/file.txt');
echo "$name\n";

file.txt

dirname

指定したパスの親ディレクトリを取得

echo dirname("/usr/local/lib") . PHP_EOL;
echo"<br>";
// ②親ディレクトリから2つ上の階層までのパスを返却
echo dirname("/usr/local/lib", 2);

結果
/usr/local
/usr

realpath()

ファイルの正規化された絶対パスを取得できる
ファイルが存在しない等、失敗したらFALSE返す

<?php echo realpath("style.css"); ?>
↓出力
/home/○○○○/www/style.css

<?php echo realpath("wp-content/themes/sampletheme/style.css"); ?>
↓出力
/home/○○○○/www/wp-content/themes/sampletheme/style.css

#owari