Category Archives: PHP

「PHP入門」IPアドレスを取得するコード

PHPコード
/**
* IPアドレスを取得
* @return string
*/
function getClientIpAddr(){
$headers = array(‘HTTP_X_REAL_FORWARDED_FOR’, ‘HTTP_X_FORWARDED_FOR’, ‘HTTP_CLIENT_IP’, ‘REMOTE_ADDR’);
foreach ($headers as $h){
$ip = $_SERVER[$h];
if ( isset($ip) && strcasecmp($ip, ‘unknown’) ){
break;
}
}
if( $ip ){
list($ip) = explode(‘, ‘, $ip, 2);
}
return $ip;
}
?>

「PHP入門」curlでcookieを保存するサンプル

PHPコード
<?php
$curl = curl_init();
$url = ‘http://xxx/login’;
$data = array(
‘username’=>’testuser’,
‘password’=>’12345678’
);
$cookie = tempnam(‘./temp’,’cookie’);
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_POST,count($data));
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
curl_setopt($curl,CURLOPT_COOKIEJAR,$cookie);
ob_start();
curl_exec($curl);
$result = ob_get_contents();
ob_end_clean();
curl_close($curl);

「PHP」アップロードされた画像の拡張子(jpg、png、gif)を判定する

phpコード:
function isImageFunc($fileName)
{
$file = fopen($fileName, “rb”);
$kdf = fread($file, 2);

fclose($file);
$strInfo = @unpack(“C2chars”, $kdf);
$typeCode = intval($strInfo[‘chars1’].$strInfo[‘chars2’]);
$fileType = ”;

if($typeCode == 255216 /*jpg*/ || $typeCode == 7173 /*gif*/ || $typeCode == 13780 /*png*/ || $typeCode == 8273 /*webp*/)
{
return $typeCode;
}
else
{
// echo ‘”jpg/jpeg/gif/png/webp画像をアップロードしてください’;
return false;
}
}

「PHP」get_headers()でhttpレスポンスコードを取得

サンプルコード

function get_http_response_code($theURL) {
$headers = get_headers($theURL);
return substr($headers[0], 9, 3);
}

PHPとJavaScriptでjsonデータのスペース文字列のエスケープ処理方法

JavaScriptコード
var jsonData = JSON.stringify(data).replace(/\s/g,”&nbsp;”);
var rowData =” <input type=’hidden’ class=’json_data’ value=”+ jsonData+”>”;

phpコード
$formatJson = str_replace(‘ ‘,’&nbsp;’,\Zend\Json\Json::encode($data));
echo ‘<input type=”hidden” class=”json_data” value=’.$formatJson.’>’;

「PHP」サーバーのファイルをダウンロードするサンプルコード

phpコード
public function servDownloadFileAction()
{
define(‘CFT_WEB_ROOT’,’http://’.$_SERVER[“SERVER_NAME”]);
$file_name = “template.xlsx”;
$file_dir = CFT_WEB_ROOT.”/www/public/template/”; –
$file = @ fopen($file_dir . $file_name,”r”);
if (!$file) {
echo “ファイルが存在しません.”;
} else {
Header(“Content-type: application/octet-stream”);
Header(“Content-Disposition: attachment; filename=” . $file_name);
while (!feof ($file)) {
echo fread($file,50000);
}
fclose ($file);
}
}

「php」count()で配列の要素数をカウントする

phpコード
$array = array(“PHP”, “Perl”, “Java”);
print_r(“Size 1: “.count($array).”\n”);
$array = array();
print_r(“Size 2: “.count($array).”\n”);

結果:
Size 1: 3
Size 2: 0

「PHP」オブジェクトと配列に相互変換するサンプルコード

サンプルコード:
function object2Array($d) {
if (is_object($d)) {
// Gets the properties of the given object
// with get_object_vars function
$d = get_object_vars($d);
}

if (is_array($d)) {
/*
* Return array converted to object
* Using __FUNCTION__ (Magic constant)
* for recursive call
*/
return array_map(__FUNCTION__, $d);
}
else {
// Return array
return $d;
}
}

function array2Object($d) {
if (is_array($d)) {
/*
* Return array converted to object
* Using __FUNCTION__ (Magic constant)
* for recursive call
*/
return (object) array_map(__FUNCTION__, $d);
}
else {
// Return object
return $d;
}
}

「php」header()とはhttp_response_code()の使い方

1.ステータスコードを出力(301)
header( “HTTP/1.1 301 Moved Permanently” ) ;
header( “Location: http://sample.com/soo.php” ) ;

2.ステータスコードを出力(503)
header(‘HTTP/1.1 503 Service Temporarily Unavailable’);
header(‘Status: 503 Service Temporarily Unavailable’);

3.ヘッダーを出力
http_response_code( 404 ) ;
echo “<p>: ページが見つかりません。</p>” ;

「php」mb_convert_encoding()とmb_convert_variables()の使い方

1.文字列を”SJIS”から”EUC-JP”に変換する
$cft = “サンプルデータ”;
echo mb_convert_encoding($cft,”EUC-JP”,”SJIS”);

 

2.文字列を”SJIS”から”EUC-JP”に変換する
$cft = “サンプルデータ”;
echo mb_convert_variables(“EUC-JP”,”SJIS”, $cft);

1 / 3312345...102030...最後 »