ラベル PHP の投稿を表示しています。 すべての投稿を表示
ラベル PHP の投稿を表示しています。 すべての投稿を表示

2012/04/10

[ ルーター再起動スクリプト - Windows PHP ]

ルーター再起動

最近回線の調子が悪くて、いちいちルーター管理画面開くのが面倒だったので、なんとなく作ってみた。

ルーターはNTT-ME系のなにか。。。


やっている事は単純で、Basic認証でルーター管理開いたら、切断・接続のフォームをPOSTしてあげるだけ。。。

書いている途中に気づいたが。。。再起動ではなかった(・ω・;、回線の切断と接続でした。

このPHPをbatで実行する感じに。

ルーターの管理画面のHTMLソースを見て何をPOSTで送っているか調べてみると自分用のができるかと思う。

PHPスクリプト

<?php
    include_once("HTTP/Request.php");
    $request_option=array(
        "timeout"=>"3600",
        "allowRedirects"=>true,
        "maxRedirects"=>5
    );
 
    $host="http://192.168.x.x/";
    $url="{$host}/cgi-bin/main.cgi?mbg_webname=pppconnect";
 
    $http = new HTTP_Request($url,$request_option);
    $http->setBasicAuth("username","password");
 
    $http->setMethod(HTTP_REQUEST_METHOD_POST);
    $http->addPostData("mbg_webname", "pppconnect");
    $http->addPostData("ppp_session", "1");
    $http->addPostData("mbg_disconnect", "切断");
 
    $response=$http->sendRequest();
    if(!PEAR::isError($response)){
        $ret_code=$http->getResponseCode();
        $ret_body=$http->getResponseBody();
    }
 
    sleep(3);
 
    $http->clearPostData();
    $http->setMethod(HTTP_REQUEST_METHOD_POST);
    $http->addPostData("mbg_webname", "pppconnect");
    $http->addPostData("ppp_session", "1");
    $http->addPostData("mbg_connect", "接続");
 
    $response=$http->sendRequest();
    if(!PEAR::isError($response)){
        $ret_code=$http->getResponseCode();
        $ret_body=$http->getResponseBody();
    }
    sleep(3);
 
?>

2010/09/20

[PHP - Command Line]

$ /usr/local/bin/php -f xxxxx.php

or

$ vi xxxxx.php
#!/usr/local/bin/php
<?php
    ・
    ・
    ・
?>
$ ./xxxxx.php

2010/09/18

[PHP - Image Resize]

大きいイメージデータの解像度を下げて、
ファイルサイズも抑えるようなPHPサンプルコード

$filename="xxx.png";
$filename_new="xxx.jpg";

$fp=fopen($filename,"rb");
$imgdata=fread($fp,8);
fclose($fp);

if(preg_match('/^\x89PNG\x0d\x0a\x1a\x0a/',$imgdata)){
    $img=imagecreatefrompng($filename);
}elseif(preg_match('/^GIF8[79]a/',$imgdata)){
    $img=imagecreatefromgif($filename);
}elseif(preg_match('/^\xff\xd8/',$imgdata)){
    $img=imagecreatefromjpeg($filename);
}

list($width,$height)=getimagesize($filename);
$new_height=1024;
$new_width=($new_height/$height)*$width;
$new_img=ImageCreateTrueColor($new_width, $new_height);
ImageCopyResampled($new_img,$img,0,0,0,0,$new_width,$new_height,$width,$height);
imagejpeg($new_img,$filename_new,50);

2010/09/01

[PEAR - HTTP Access]

PHPからHTTPアクセスするために必要なもの

# pear install pager
# pear install HTTP_Request
# pear install Cache
# pear install Cache_Lite

ついでにモバイルのUser-Agentも(β版かも)
# pear install -f Net_UserAgent_Mobile

[PEAR Update]

バージョンが1.36未満の場合は一度バージョンをアップデートを行う
# pear upgrade -a PEAR-1.3.6

最新バージョンにアップデート
# pear upgrade PEAR

各種パッケージもアップデート
# pear upgrade Archive_Tar
# pear upgrade Structures_Graph
# pear upgrade PEAR

チャンネルもアップデート
# pear update-channels pear.php.net

2010/08/19

[PHP Install]

# tar zxf php-5.3.3.tar.gz
# cd php-5.3.3
# ./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-curl=/usr \
--with-pgsql=/usr/local/pgsql \
--with-zlib \
--with-gd \
--with-jpeg-dir=/usr/local/lib \
--with-png-dir=/usr/local/lib \
--with-openssl \
--enable-zip \
--enable-mbstring=all \
--enable-mbregex \
# make
# make install
# cat php.ini-production|\
sed -e "s/^;output_handler =/output_handler = mb_output_handler/" \
> /usr/local/lib/php.ini

# vi /usr/local/apache2/conf/httpd.conf
※追加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

※変更
DirectoryIndex index.html

DirectoryIndex index.html index.php

# /etc/init.d/httpd restart