タグ

ブックマーク / hogehack.blog80.fc2.com (3)

  • anysense-devel  PHPからsudoする方法(ハマってしまった人向け)

    ブラウザからPHPスクリプトにアクセスして、PHPプログラムからsudoコマンドを実行する方法。 ちょっとハマってしまったので方法をメモっておきます。 ご存知の通りPHPからコマンドを実行するにはexec()やsystem()等を使えばいいんですが、Apacheに実行権限が無いファイルを扱う場合はsudoしてから実行する必要があります。 <?PHP $cmd = "echo 'password' | sudo -S ls /root"; exec($cmd, $output); print_r($output); ?> みたいに-Sを付けてやればパイプでパスワードを渡すことが出来ます。 ここで入力するのはもちろんapacheが動いているユーザーのパスワードです。 apacheがどのユーザー権限で動いているかはhttpd.confのUserディレクティブとGroup

  • anysense-devel  PHPで顔認識を試してみた

    写真から人間の顔を検出してその部分を緑色の四角形で囲むスクリプトを書いて遊びました。 環境はCentOS5.2です。 顔認識の処理はOpenCVに依存してますのでまずそれを入れます。 yum -y install opencv 次に、PHPで顔検出を参考にOpenCVPHPから使えるようにするextensionを入れます。 そして、それを使って実際に顔検出してみたスクリプトがこちら <?php $pic = 'aoi.jpg'; $cascade = '/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml'; $faces = face_detect($pic, $cascade); var_dump($faces); $img = imagecreatefromjpeg($pic); $color = imagec

  • anysense-devel  PHPから静的な画像ファイルを効率的に出力する方法

    サーバー上の静的なコンテンツをPHPなどの動的なスクリプトから出力したときがたまに有ります。 例えばログインしているユーザーにだけ画像を見せたい場合などです。 こういう時、一番簡単な方法は if($logged_in){ $filename = 'hoge.gif'; header('Content-Length: ' . filesize($filename)); header('Content-Disposition: attachment; filename='.basename($filename)); readfile($filename); } とする事です。 若しくは if($logged_in){ $filename = 'hoge.gif'; header('Content-Length: ' . filesize($filename)); header('Content

  • 1