json_encode 함수를 사용하여 큰따옴표에 슬래시를 추가할 수 있습니다. 또한 addcslahses는 특정 문자에 \를 추가하는 데 사용할 수도 있습니다. - 예시 <?php $str = addcslashes("Hello there!","t"); echo($str); ?> 출력 이것은 다음과 같은 출력을 생성합니다 - Hello \there! addcslashes 함수는 특정 문자 앞에 백슬래시가 있는 문자열을 반환하는 데 사용됩니다. 대소문자를 구분하는
웹사이트가 느려지는 주된 이유는 호스트의 과부하입니다. 다른 컴파일된 언어보다 PHP를 사용하는 이점은 유지 관리가 쉽다는 것입니다. PHP는 HTTP 트래픽을 효율적으로 처리하도록 설계되었으며 다른 컴파일된 언어를 사용하여 빌드하는 것과 비교할 때 빌드할 것이 적습니다. 또한 서버를 다시 컴파일하고 다시 시작할 필요가 없기 때문에 변경 사항을 병합하는 것이 더 쉽습니다(컴파일된 바이너리 FastCGI를 사용하는 경우 수행해야 함). PHP는 적절하게 작성되면 크게 확장될 수 있습니다. 다른 제한 요소에는 사용되는 데이터베이스
압축된 파일은 PHP의 gzread 기능을 사용하여 압축을 풀거나 압축을 풀 수 있습니다. 다음은 동일한 코드 예제입니다 - 예시 $file_name = name_of/.dump.gz'; $buffer_size = 4096; // The number of bytes that needs to be read at a specific time, 4KB here $out_file_name = str_replace('.gz', '', $file_name); $file = gzopen($file_name,
PHP의 정규 표현식 [\S\s]*는 새 줄과 일치하지 않음을 의미합니다. PHP에서 /s 플래그를 사용하여 점이 모든 문자와 일치하도록 할 수 있습니다 - 예시 print(preg_match('/^[\S\s]$/s',"hello \n world")); 출력 이것은 다음과 같은 출력을 생성합니다 - 0 preg_match 함수는 정규식을 주어진 입력 문자열과 일치시키는 데 사용됩니다. 여기서 \를 만나면 0을 반환합니다.
예, XDebug와 같은 디버거는 PHP 서버의 성능을 저하시킵니다. 이것이 디버거가 서버 환경에 배치되지 않는 이유입니다. 불필요한 오버헤드를 피하기 위해 다른 환경에 배포됩니다. 이미 프로덕션 단계에 있는 애플리케이션에서는 디버그 메시지를 표시할 수 없습니다. 디버깅 동작이 서버에 추가되면 디버그 엔진이 PHP 프로세스에 연결됩니다. 중단점에서 중지하라는 메시지를 받기 시작하지만 다른 프로세스에 고성능 타격을 가하여 PHP 파서를 중지하기 때문에 필수 동작은 아닙니다. 반면에 디버거가 설치되면 프로덕션 환경에서 사용하도록
사용 키워드는 특정 함수의 범위에 변수를 바인딩하는 데 사용할 수 있습니다. 함수의 범위에 변수를 묶기 위해 use 키워드를 사용하세요 - 예시 <?php $message = 'hello there'; $example = function () { var_dump($message); }; $example(); $example = function () use ($message) { // Inherit $message var_dump($message); }; $examp
단일 세트에서 특정 크기의 모든 조합을 생성하려면 코드는 다음과 같습니다. - 예시 function sampling($chars, $size, $combinations = array()) { # in case of first iteration, the first set of combinations is the same as the set of characters if (empty($combinations)) { $combinations = $char
PHP의 serialize() 함수는 객체를 저장하기 전에 사용할 수 있으며, unserialize() 함수는 세션에서 객체를 검색해야 할 때 호출할 수 있습니다. 이 함수는 특정 값의 저장 가능한 표현을 비트 시퀀스로 변환합니다. 이는 데이터를 파일, 메모리 버퍼에 저장하거나 네트워크를 통해 전송할 수 있도록 하기 위한 것입니다. 직렬화 기능을 사용하여 객체 저장 - session_start(); $object = new sample_object(); $_SESSION['sample'] = serialize($o
readfile 함수는 파일을 출력 버퍼로 직접 읽는 PHP의 내장 함수입니다. 파일 이름은 함수에 매개변수로 전달됩니다. 데이터를 성공적으로 읽은 경우 읽은 바이트 수를 반환합니다. 그렇지 않으면 FALSE를 반환합니다 - 예시 출력 이것은 다음과 같은 출력을 생성합니다 - 죄송합니다. 파일을 열 수 없습니다. file_get_contents 함수는 PHP에 내장된 함수로 파일을 메모리에 로드하고 echo 함수가 호출될 때만 내용을 표시합니다. 이 단계에서 데이터는 메모리에서 출력 버퍼로 복사된 다음 표시됩니다. 메모리 매핑
PHPExcel 개체의 소스를 인식하지 못하기 때문에 PHPExcel에서 읽기 및 쓰기를 위해 파일을 여는 개념이 없습니다. 파일이 로드된 소스나 파일 유형에 관계없이 파일 이름을 기준으로 파일을 읽고 동일한 이름으로 저장할 수 있습니다. 이렇게 하면 파일을 덮어쓰고 새 변경 사항이 파일에 반영됩니다. 예시 error_reporting(E_ALL); set_time_limit(0); date_default_timezone_set('Europe/London'); set_include_path(get_include_pat
파일 1에 ns_1 네임스페이스가 있고 파일 2에 ns_2 네임스페이스가 있는 경우 파일 1과 파일 2가 파일 3에 포함되어 있으면 ns_1 및 ns_2 네임스페이스가 로드되었는지 알 방법이 없습니다. 유일한 방법은 class_exists 함수를 사용하는 것이며 get_declared_classes를 사용하여 특정 네임스페이스를 가진 클래스 목록을 얻을 수 있습니다. 간단히 말해서, 획득한 이 데이터는 선언된 모든 클래스 이름이 주어지면 일치하는 네임스페이스를 찾는 데 사용할 수 있습니다 - function namespaceExi
@ 기호는 오류가 화면에 표시되는 것을 억제합니다. PHP는 오류 제어 연산자, 즉 기호(@)를 지원합니다. PHP에서 표현식 앞에 추가하면 해당 표현식을 사용할 때 생성될 수 있는 오류 메시지가 무시됩니다. track_errors 속성이 활성화되면 표현식에 의해 생성된 오류 메시지는 $php_errormsg라는 변수에 저장됩니다. 이 변수는 오류가 발생할 때마다 덮어씁니다. 항상 오류 상태/조건과 관련하여 작동하는 코드를 작성하는 것이 좋습니다.
다음은 XML 데이터(입력) − <other data> <foo> <bar></bar> <value/> <pub></pub> </foo> <foo> <bar></bar> <pub></pub> </foo> <foo> <bar></b
대부분의 핵심 PHP 함수는 Latin-1을 제외한 문자 집합을 다루지 않습니다. 하지만 pathinfo 앞에 setlocale을 배치하면 UTF-8로 인코딩된 경우에도 올바른 파일 이름을 반환할 수 있습니다. 기본적으로 C 로케일로 실행되고 CLI 스크립트는 기본 utf-8 로케일로 실행됩니다. 다른 함수를 호출하기 전에 서버의 로케일을 C에서 C.UTF-8 또는 en_US.UTF-8로 변경해야 합니다. setlocale(LC_ALL,'en_US.UTF-8'); pathinfo($OriginalName, PATHI
PHP 스크립트를 통해 대용량 파일을 다운로드하려면 코드는 다음과 같습니다. - 예시 <?php function readfile_chunked($filename,$retbytes=true) { $chunksize = 1*(1024*1024); // how many bytes per chunk the user wishes to read $buffer = ''; $cnt =0; $handle = fopen($filename,
텍스트 파일의 마지막 5줄만 읽으려면 코드는 다음과 같습니다. - 예시 $file = file("filename.txt"); for ($i = max(0, count($file)-6); $i < count($file); $i++) { echo $file[$i] . "\n"; } 출력 이것은 다음과 같은 출력을 생성합니다 - Given that the file has more than 5 lines of text, the last 5 lines of the text f
문자 유형에서 언어를 감지할 수 없습니다. 다른 방법이 있지만 완전한 정확성을 보장하지는 않습니다. TextLanguageDetect Pear Package는 적절한 정확도로 사용할 수 있습니다. 다음은 동일한 샘플 코드입니다 - 예시 require_once 'Text/LanguageDetect.php'; $l = new Text_LanguageDetect(); $result = $l->detect($text, 4); if (PEAR::isError($result)) { echo $resu
코드는 다음과 같습니다 - 예시 $object = new stdClass(); $object->name = "My name"; $myArray[] = $object; 출력 이것은 다음과 같은 출력을 생성합니다 - Suppose myArray already contains ‘a’ and ‘c’, the value of “My name” will be added to it. It becomes Array { a:0, c:1,
usort 함수는 PHP에서 다차원 배열을 정렬하는 데 사용할 수 있습니다. 사용자 정의 기준에 따라 배열을 정렬합니다 - 예시 <?php function my_sort($a,$b) { if ($a==$b) return 0; return ($a<$b)?-1:1; } $a=array(4,2,81,63); usort($a,"my_sort"); $arrlength=count($a); for($x=0;$x<$arrlength;$x++) { &nbs
이것은 사용 중인 IDE에 따라 다릅니다. 예를 들어, Netbeans 및 IntelliJ는 주석에서 @var 사용을 활성화할 수 있습니다 - /* @var $variable ClassName */ $variable-> 힌트가 발생한 후 $variable이 ClassName의 클래스임을 알게 됩니다. 또한 반환 유형이 ClassName 개체의 배열이 되도록 지정하는 메서드를 사용하여 @return 주석을 만들 수 있습니다. 이 데이터는 개체의 값을 가져오는 foreach 루프를 사용하여 액세스할 수 있습니다. - funct