SSブログ

PHPでカレントディレクトリを取得する [PHP]

PHPでカレントディレクトリを取得するには、getcwd()関数を使用します。
例:
$cwd = getcwd();
echo "Current Directory is $cwd.";


nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:blog

PHPでGETメソッドやPOSTメソッドを使用した場合のデータの受け取り [PHP]

PHPでは、GETメソッドやPOSTメソッドを使ってHTTPクライアント(ブラウザ等)からのデータを受け取ることができます。
このデータは、$_GETや$_POSTという特別な変数を使って取得します。

URIをhttp://example.com/example/example.phpとすると、
GETメソッドでhttp://example.com/example/example.php?name=miukumaukuとリクエストすると、
if (isset($_GET['name'])) {
    $name = $_GET['name'];
    echo "name: $name<br>";
} else {
    echo "name: No Name<br>";
}

で、ブラウザ画面には、
name: miukumauku
と表示されます。

POSTの場合は、$_GETを$_POSTに置き換えれば、OKです。

ちなみに例で書いているisset()関数は、引数の変数が設定されているかどうかを調べるための関数です。
変数が設定されていない場合に、その変数にアクセスするとエラーとなるので、このisset()関数を使ってあらかじめ変数が設定されているかどうかを調査しておきます。

タグ:Get post PHP
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

PHPでファイルを削除する方法 [PHP]

PHPでファイルを削除するには、unlink()関数を使用します。
引数には、パス名(ファイル名)を指定します。
パス名は、相対的指定でも絶対的指定でも可能です。
(urlでの指定も可能のようですが、実際に削除が実行されるか不明です。)
unlink(string filename)
$filename = "./data.txt";
unlink($filename);


ファイルの削除ではなく、ファイル名の変更あるいは別ディレクトリへ移動には、rename()関数を使用します。
$filename = "./data.txt";
$newfilename = "./data/data.txt";
rename($filename, $newfilename);


nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:blog

PHPでファイル操作 [PHP]

PHPでのファイル操作は、C言語とほぼ同じなので、分かりやすいです。
ファイルのオープン:
resource fopen(string$filename, string$mode)

ファイルのクローズ:
bool fclose(resource$handle)

ファイルからデータを読み込む:
string fread(resource$handle, int$length)

ファイルへデータを書き込む:
int fwrite(resource$handle, string$string)

$input = fopen($input_filename, "r");
$data = fread($input, $readsize);
fclose($output);

$output = fopen($output_filename, "w");
fwrite($output, $data);
fclose($output);

nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:blog

PDOを使ったデータベースアクセス [PHP]

PHPでは、MySQLやSQLite、PostgreSQLのそれぞれ専用の関数がありますが、それらのラッパクラス的なPDO(PHP Database Object)を使うと便利です。

使い方:
データベースへ接続は、PDOクラスを生成することでできます。

PDO("{データベースの種類}:dbname={データベース名};host={ホストアドレス}', ’{ユーザ名}", "{パスワード}")
try {
    $pdo = new PDO('mysql:dbname=db01;host=localhost', ’user01", "xxxxxxx");
} catch (PDOException $e) {
    // エラー処理
}


SQLコマンドを実行は、query()メソッドやfetch()メソッドを使います。
$pdo->query("SELECT * FROM atable WHERE name = 'foo'");


データベースの接続を切断するには、PDOオブジェクトにnullを設定する。
$pdo = null;


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

PHPのforeachで配列のインデックス操作 [PHP]

PHPにもforeach構文があります。

foreach構文を使って配列のインデックス0から9までを操作する場合は、
以下のようにrange()関数を使うと分かりやすいです。

foreach (range(0, 9) as $i) {
    $array[$i] = $i;
}

同じ操作をfor構文で書くと、
for ($i = 0; $i < 10; $i++) {
    $array[$i] = $i;
}



タグ:foreach PHP
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

PHPでクロスドメインからのアクセスを許可するには [PHP]

JavaScriptでは、クロスドメインでのアクセスがセキュリティ上できないことになっています。
隠しコマンドでクロスドメインを許可する設定ができるブラウザ(Chrome)がありますが、基本はクロスドメインでのアクセスは禁止となっています。

しかし、Web APIをAJAXでアクセスするには、クロスドメインとなる場合がありますので、サーバ側でHTTPヘッダに「Access-Control-Allow-Origin: *%」を付けるとクロスドメインアクセスが可能となります。

header("Access-Control-Allow-Origin: *%");
header(‘Access-Control-Allow-Headers: *%’);
header(‘Access-Control-Allow-Methods: GET, POST, OPTIONS’);
header(‘Content-Type: text/plain’);


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

PHPでSessionのクッキーの有効期限を設定する [PHP]

PHPでsession_set_cookie_params()を使用してセッションのクッキーの有効期限を設定できます。
クッキーの有効期限を設定しないとデフォルト値は、「0」でブラウザを閉じるまでが有効期限となります。

クッキーの有効期限をiCloudの「サインインしたままにする」をチェックしてサインインした場合のように2週間にしたい場合は、以下のように設定します。
$lifetime = 60 * 60 * 24 * 14; // 2週間
session_set_cookie_params($lifetime);

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

PHPのheredoc(ヒアドキュメント)について [PHP]

PHPでもヒアドキュメントが使えます。

ヒアドキュメントとは、文字列リテラルをプログラム文中にそのまま埋め込むための方法の一つです。
改行文字のエスケープシーケンス等を書いたりせずに、自然なプレーンテキストで表記できるので、
便利です。

ヒアドキュメントの書式は、まず開始行として、<<<の次に終端文字列を書きます。
その後に実際の文字列リテラルを書き続けて、
最後に終端文字列;で始まる終端行を書きます。

例:
echo <<<EOT
<p>
This is a heredoc sample.
The terminal string of this heredoc is EOT.
</p>
EOT;

この場合は、終端文字列は、EOTです。
終端行は、必ず終端文字列で始まり、続いてセミコロンで終わる必要があります。
また、終端文字列とセミコロンの間に空白文字を入れないようにします。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

XAMPPのデフォルトではPHPにOpenSSLモジュールが入っていない [PHP]

XAMPPでPHPサーバを動かしていますが、file_get_contents()関数を使って、httpsプロトコルのファイルへのアクセスができません。

色々調べてみると、どうもPHPサーバにOpenSSLのモジュールが入っていないことが判明しました。

PHPの設定ファイル({XAMPのインストールパス}/php/php.ini)を見てみると、確かに extension=php_openssl.dllがコメントアウトされています。

早速「;」を消去しコメントアウトを止め、php.iniを保存し、XAMPP Control PanelでApacheをStop した後StartさせてPHPを再起動させたら、httpsのファイルにアクセスできるようになりました。


nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:blog

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。