>백엔드 개발 >PHP 튜토리얼 >문제가 발생하면 해당 프로그램을 닫아야 합니다. PHP 프로그램을 디버깅할 때 발생하는 세 가지 문제입니다.

문제가 발생하면 해당 프로그램을 닫아야 합니다. PHP 프로그램을 디버깅할 때 발생하는 세 가지 문제입니다.

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-07-29 08:47:451204검색

1. filesize() 함수가 잘못된 값을 반환합니다.
curl을 사용하여 페이지를 로컬로 다운로드하는 경우 다운로드한 임시 파일 tmpHtml.txt의 내용을 버퍼로 읽어야 합니다. fread()를 사용하여 읽으므로 읽을 크기를 전달해야 하므로 먼저 filesize('./tmpHtml.txt')를 사용하여 임시 파일 크기를 가져옵니다. 이상한 점은 얻은 임시 파일의 크기가 올바르지 않다는 것입니다. filesize()를 호출한 후 하드 디스크에서 파일을 수동으로 검색하기 위해 중단점을 설정했습니다. .
php.net에서 filesize를 검색하면 함수 설명에서 다음 문장을 볼 수 있습니다. 참고: 이 함수의 결과는 캐시됩니다. 자세한 내용은 Clearstatcache()를 참조하세요.
clearstatcache()를 다시 찾아보니 이유가 있었습니다.
PHP는 더 빠른 성능을 제공하기 위해 이러한(쿼리를 위해 함수 테이블이 제공됨) 함수의 반환 정보를 캐시합니다. 그러나 경우에 따라 캐시된 정보를 지우고 싶을 수도 있습니다. 예를 들어 스크립트에서 동일한 파일을 여러 번 확인했는데 스크립트 실행 중에 해당 파일이 삭제되거나 수정될 위험이 있는 경우 파일 상태 캐시를 지워야 합니다. 이 경우, cleanstatcache() 함수를 사용하여 PHP가 캐시한 파일 정보를 지울 수 있습니다.
2. UTF-8로 인코딩된 PHP 스크립트에서 GBK로 인코딩된 중국어 웹 콘텐츠의 패턴을 일치시킬 때 중국어를 일치시키는 방법.
어제 개발에서는 GBK로 인코딩된 문자열 'Apple'이 포함된 콘텐츠를 일치시켜야 했기 때문에 다음 코드를 작성했습니다.

코드 복사 코드는 다음과 같습니다.


$pat = '//'
$pat = iconv('UTF-8', 'GB2312'; , $pat) ;
$ret = preg_match_all($pat, $contents, $matches);


그런데 일치하는 내용이 없어서 UTF-8 인코딩으로 변환해 보았습니다. 먼저

코드 복사 코드는 다음과 같습니다.


$pat = '//';$contenst = iconv('GB2312', 'UTF-8', $contents)
$ret = preg_match_all($pat, $contents, $matches); 🎜>

그래서 일치합니다. 그러나 나는 그것을 알아낼 수 없으며 사기가 연루된 것으로 의심됩니다.

근데 비극은 오늘 또 첫 번째 방법을 사용해서 또 매칭이 됐다는 거예요. 문제는 다른 곳에 있는 것 같습니다.
아! 나는 돼지입니다. 문제 2는 문제 1로 인해 발생합니다! filesize()를 잘못 얻었으므로 당연히 일치시킬 수 없습니다! 두 번째 방법은 1번 문제를 해결한 후 매칭!
3. 브라우저에서 요소를 검사하여 얻은 인용 이미지의 다운로드 주소가 컬로 얻은 다운로드 주소와 다른 이유는 무엇입니까?
아마도... 최종 대답은 '나는 돼지입니다'일 것입니다.
URI 개체가 attachment.php? aid=Mzk3MTB8YTg5ZTYyNTJ8MTMyNjcyNDEwMXw5NWYydC9aOUE0a05EVm9ydlErSFBRamZJNWJQL1NHdWJLK3ZraU9GTDZYdnBUdw==¬humb=yes
지원이란 무엇인가요? 아마도 세션과 관련된 것일 수 있으며 변경되는 것이 정상입니다. 나중에는 정적 경로처럼 보이는 것을 캡처하는 데 문제가 없었습니다.
위 세 가지 이야기에는 두 가지 비극이 담겨 있습니다. 이는 PHP 초보자가 저지르기 쉬운 어리석은 실수입니다.
위 내용은 문제가 발생하면 종료해야 하는 내용을 포함하여 PHP 프로그램을 디버깅할 때 발생하는 세 가지 문제를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.