PHPでアップロードされたファイルタイプのチェック方法(fileinfo, mime-type) サンプル編

Posted by admin | PEAR, PECL, PHP | 火曜日 18 3月 2008 12:11 PM

PHPでアップロードされたファイル形式(拡張子)のチェック方法です。

色々調べた所、PECLのFileinfo 関数というのが良さそうだったのでメモ。

インストール編はこちら

実際のサンプルコード。



<?php
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // return mime type ala mimetype extension

if (!$finfo) {
echo "fileinfo データベースのオープンに失敗しました";
exit();
}

/* 指定したファイルの mime タイプを取得します */
$filename = "/usr/local/something.txt";
echo finfo_file($finfo, $filename);

/* 接続を閉じます */
finfo_close($finfo);
?>



参考はこちら:
http://jp.php.net/manual/ja/ref.fileinfo.php





PHPでアップロードされたファイルタイプのチェック方法(fileinfo, mime-type) インストール編

Posted by admin | PEAR, PECL, PHP | 火曜日 18 3月 2008 12:00 PM

PHPでアップロードされたファイル形式(拡張子)のチェック方法です。

色々調べた所、PECLのFileinfo 関数というのが良さそうだったのでメモ。

サンプル編はこちら

まずは、インストール。



$ sudo pecl install fileinfo

Build process completed successfully
Installing '/usr/lib/php/modules/fileinfo.so'
install ok: channel://pear.php.net/Fileinfo-1.0.4


次に、iniファイルの新規作成。



$ sudo vi /etc/php.d/fileinfo.ini

extension=fileinfo.so


次に、apacheの再起動



$ sudo /etc/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]



最後に、phpinfo()で[fileinfo]の項目があればインストール完了!!





PHPで画像をリサイズ(ImageMagickとimagick) サンプル編

Posted by admin | PEAR, PECL, PHP, 画像処理 | 火曜日 18 3月 2008 10:13 AM

PHPで画像を縮小(サムネイル化)する必要があったのでメモ。

インストール編はこちら

実際に画像をサムネイル化する簡単なサンプル。



<?php

header('Content-type: image/jpeg');

$image = new Imagick('image.jpg');

// 幅あるいは高さに 0 を指定すると、
// 元の画像のアスペクト比を維持します
$image->thumbnailImage(100, 0);

echo $image;

?>


参考はこちら:
http://jp.php.net/imagick

こちらも:
http://labs.unoh.net/2007/05/php_7.html





PHPで画像をリサイズ(ImageMagickとimagick) インストール編

Posted by admin | PEAR, PECL, PHP, 画像処理 | 火曜日 18 3月 2008 10:02 AM

PHPで画像を縮小(サムネイル化)する必要があったのでメモ。

サンプル編はこちら

まずは、PECLのimagickを使う為にインストール。



$ sudo pecl install imagick


すると、MagickWandのconfigが無いとかでエラー。。。
調べた結果、ImageMagick-develを入れると良いっぽい。
なので早速インストール。




$ sudo yum install ImageMagick-devel


develのインストールが完了したので、またpeclコマンド。



$ sudo pecl install imagick


今度は無事にインストール完了。
更に、iniファイルを作らなきゃダメみたいなので
imagick.iniファイルを新規作成。



$ sudo vi /etc/php.d/imagick.ini

extension=imagick.so


次に、apacheの再起動



$ sudo /etc/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]


最後に、phpinfo()で[imagick]の項目があれば完了!!