'Development/PHP'에 해당되는 글 17건

  1. [PHP] PHP-FPM 최대 프로세스 개수 설정하기
  2. [PHP] HTML과 PHP 태그 제거하기- Strip_tags
  3. PHP 한글 포함한 문자열 자르기 mb_substr
  4. PHP 웹페이지에서 오류 로그 보기
  5. PHP에서 원하는 길이로 랜덤 문자열 만들기 (2)
  6. PHP json_encode 활용하기
  7. PHP에서 https 연결인지 확인하기
  8. PHP 배열 value 기준으로 key 삭제하기
  9. PHP에서 startsWith, endsWith 사용하기
  10. PHP 개발 - 문자열 치환하기 str_replace

WARNING: [pool www] server reached pm.max_children setting (20), consider raising it

트래픽이 증가하게 되면 프로세스 수가 증가되어야 하지만, 기본적으로 설정되어 있는 값을 넘길 수 없어 서버가 요청을 처리하지 못하는 문제가 발생합니다.

https://s9uare.com/Z2hn5oRdgBEX

 

[PHP] PHP-FPM 최대 프로세스 개수 설정하기

댓글 {{comment.writer_name}} | {{comment.content}} 삭제 댓글을 작성하려면 로그인

s9uare.com

 

PHP 문자열에 섞여 있는 HTML, PHP 태그를 제거하는 함수입니다. 


[PHP] HTML과 PHP 태그 제거하기- Strip_tags


strip_tags(태그 제거할 문자열);

위 함수는 태그가 제거된 문자열을 반환합니다.


ex) strip_tags("<h1>안녕하세요.</h1>");


결과(반환 값) : 안녕하세요.



strip_tags(태그 제거할 문자열. '허용할 태그'');

허용한 태그를 제외한 나머지를 삭제합니다.


ex) strip_tags("<h1>안녕하세요.</h1><br><a>ㅎㅎ</a>", "<br><a>");


결과(반환 값) : 안녕하세요.<br><a>ㅎㅎ</a>

PHP에서 문자열을 원하는 길이만큼 자르는 함수에는 substr이라는 함수가 있습니다. 하지만 영문 byte를 기준으로 자르기 때문에 한글 문자열을 자르려다 보면 글자가 깨지는 현상이 일어납니다. 따라서 특정 인코딩이나 한글을 포함한 문자열을 자를 때에는 mb_substr 함수를 사용합니다.



PHP 한글 포함한 문자열 자르기 mb_substr


아래와 같이 호출하면 잘린 문자열을 반환합니다.


mb_substr(자를 문자열 , 어디서부터 자를 것인지, 얼마나 자를건지);


어디서부터 자를 것인지 부분은 0부터 시작합니다.

ex)

echo mb_substr("안녕하세요.", 0, 2);


출력값 )

안녕



사용할 특정 인코딩 방법을 지정할 수도 있습니다.

mb_substr(자를 문자열 , 어디서부터 자를건지, 얼마나 자를 것인지, 인코딩 방법);


ex)

echo mb_substr("안녕하세요.", 0, 2, 'utf-8');


보통 웹서버의 로그 파일 확인이나 Test를 통해 오류를 확인하지만, 간단한 함수 호출만으로도 웹페이지에서 에러 로그를 확인할 수 있습니다.


PHP 웹페이지에서 오류 로그 보기


태스트나 디버그 목적 외에는 사용하지 않는 것을 권합니다. 서버의 에러 로그를 아무나 볼 수 있게 하는 것은 보안에 별로 좋지 않습니다.

아래 함수를 처음에 호출하면 발생하는 오류나 충돌 사항을 표시하게 됩니다.


error_reporting(E_ALL);
ini_set('display_errors', 1);


PHP에서 원하는 길이로 랜덤 문자열을 반환하는 함수입니다. 문자열에 포함할 문자를 임의로 지정할 수 있습니다.



PHP에서 원하는 길이로 랜덤 문자열 만들기


 function GenerateString($length)  
{
$characters = "0123456789";
$characters .= "abcdefghijklmnopqrstuvwxyz";
$characters .= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$characters .= "_";

$string_generated = "";

$nmr_loops = $length;
while ($nmr_loops--)
{
$string_generated .= $characters[mt_rand(0, strlen($characters) - 1)];
}

return $string_generated;
}


위 함수에 원하는 길이를 넣어 호출하면 $characters에 있는 문자열들로 랜덤 문자열을 반환합니다.


ex)  


echo GenerateString(15);


결과)


jsjIgpJ2Pn7w3y6

PHP에서는 배열을 JSON으로 변환할 수 있는 함수가 기본적으로 내장되어 있습니다. 이것이 옵션에 따라 JSON 출력의 결과가 달라집니다.



PHP json_encode 활용하기


JSON_UNESCAPED_UNICODE

유니코드 문자열을 대상으로 Escape를 해서 \uac00 이런 식으로 보이게 하지 않습니다.


  json_encode("가나다"); // 값 : "\uac00\ub098\ub2e4"

  json_encode("가나다",JSON_UNESCAPED_UNICODE); // 값 : "가나다"



JSON_FORCE_OBJECT

배열(Array)을 Object 형태로 변환합니다.

 json_encode(array('A','B','C')); // 값 : ["A","B","C"]

 json_encode(array('A','B','C'),JSON_FORCE_OBJECT); // 값 : {"0":"A","1":"B","2":"C"}


JSON_NUMERIC_CHECK

숫자로만 되어있는 문자열을 Int 형태로 변환시켜 줍니다.

json_encode(array('123','12A')); // 출력값 : ["123","12A"]

 json_encode(array('123','12A'),JSON_NUMERIC_CHECK); // 출력값 : [123,"12A"]


JSON_HEX_TAG

< 와 >와 같은 태그 기호들이 \u003C 와 \u003E 이런 식으로 변환되게 됩니다.

     json_encode("< >"); // 출력값 : "< >"

     json_encode("< >",JSON_HEX_TAG); // 출력값 : "\u003C\u003E"


여러 개 옵션을 동시에 사용하려면 '|' 기호를 사용하여서 할 수 있습니다.


 json_encode($array, JSON_NUMERIC_CHECK | JSON_UNESCAPED_UNICODE);


지금 통신하고 있는 상황이 일반 http인지 아니면 https 보안 연결 통신인지 PHP에서 확인할 수 있습니다.



PHP에서 https 연결인지 확인하기

아래와 같은 함수를 통해 Https 사용 여부를 판단합니다.

function isSecure() {
return
(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
|| $_SERVER['SERVER_PORT'] == 443;
}



true 값을 반환하면 https 연결을, false 값을 반환하면 http 연결을 의미합니다.



보통 key를 토대로 배열을 관리하지만,  특정 배열값 기준으로 다루어야 하는 경우가 있습니다. 제시되는 값과 배열 값이 일치하면 배열 목록에서 key를 제거하는 함수입니다.


PHP  배열 value 기준으로 key 삭제하기



function arr_del($list_arr, $del_value) // 배열, 삭제할 값
{
$b = array_search($del_value,$list_arr);
if($b!==FALSE) unset($list_arr[$b]);
return $list_arr;
}


위 함수를 사용하면 해당하는 value는 배열에서 삭제되게 됩니다.


예제)


$array = array("A", "B", "C");



$array = arr_del($array, 'A');


print_r($array);


결과)


Array ( [1] => B [2] => C )


A가 value인 key는 삭제되었습니다.




startWith, endsWith는 ~로 시작하는 혹은 ~로 끝나는지 여부를 알수 있게 해주는 좋은 API입니다. 하지만 PHP에서는 이런 API를 따로 제공하고 있지 않아 불편한 점이 있습니다.

아래 함수를 사용하면 PHP에서도 Java나 C#처럼 사용할 수 있습니다.




PHP에서 startsWith, endsWith 사용하기


StartsWith

function startsWith($haystack, $needle) {
// search backwards starting from haystack length characters from the end
return $needle === "" || strrpos($haystack, $needle, -strlen($haystack)) !== false;
}


사용 예 : startsWith( 'abcdef' , 'a');

결과값 : true


EndsWith

function endsWith($haystack, $needle) {
// search forward starting from end minus needle length characters
return $needle === "" || (($temp = strlen($haystack) - strlen($needle)) >= 0 && strpos($haystack, $needle, $temp) !== false);
}


사용 예 : endsWith('abcdef', 'f');

결과값 : true


PHP에서 자신이 원하는 문자열을 다른 문자열로 대체하고 싶을 때 사용할 수 있습니다.


PHP 개발 - 문자열 치환하기 str_replace



만약에 문자열 "가나다라마바사"에서 "사"를 "가"로 바꾸고 싶다면


$value = "가나다라마바사";


echo str_replace("사", "가", $value); 



결과값은 "가나다라마바가"가 됩니다.


더 자세한 함수 정보는 아래 링크를 참고하세요.


http://www.php.net/manual/en/function.str-replace.php






도움이 되셨나요?

그럼 손가락을 눌러주세요:)