> 백엔드 개발 > PHP 튜토리얼 > PHP 실용 함수를 위한 9가지 코드 권장 사항_php 팁

PHP 실용 함수를 위한 9가지 코드 권장 사항_php 팁

WBOY
풀어 주다: 2016-05-16 20:35:01
원래의
914명이 탐색했습니다.

1. 이메일을 읽었는지 확인하세요

이메일을 보낼 때 상대방이 이메일을 읽었는지 알고 싶을 수도 있습니다. 다음은 상대방의 IP 주소로 기록을 읽은 실제 날짜와 시간을 표시하는 매우 흥미로운 코드 조각입니다.

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

error_reporting(0);
Header("콘텐츠 유형: image/jpeg");

//IP 얻기
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
그 외
{
$ip=$_SERVER['REMOTE_ADDR'];
}

//시간
$actual_time = 시간();
$actual_day = 날짜('Y.m.d', $actual_time);
$actual_day_chart = 날짜('일/월/년', $actual_time);
$actual_hour = 날짜('H:i:s', $actual_time);

//브라우저 가져오기
$browser = $_SERVER['HTTP_USER_AGENT'];
       
//로그
$myFile = "log.txt";
$fh = fopen($myFile, 'a ');
$stringData = $actual_hour . ' ' . $browser';
fwrite($fh, $stringData);
fclose($fh);

//이미지 생성(예: 크기는 1x1)
$newimage = ImageCreate(1,1);
$grigio = ImageColorAllocate($newimage,255,255,255);
ImageJPEG($newimage);
ImageDestroy($newimage);
       
?>

2. 웹페이지에서 키워드 추출

웹페이지에서 키워드를 쉽게 추출할 수 있는 훌륭한 코드 조각입니다.

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

$meta = get_meta_tags('http://www.emoticode.net/');
$keywords = $meta['keywords'];
// 키워드 분할
$keywords = 폭발(',', $keywords );
// 다듬기
$keywords = array_map( 'trim', $keywords );
// 빈 값 제거
$keywords = array_filter( $keywords );

print_r( $keywords );

3. 페이지의 모든 링크 찾기

DOM을 사용하면 모든 페이지에서 쉽게 링크를 가져올 수 있습니다. 코드 예는 다음과 같습니다.

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

$html = file_get_contents('http://www.example.com');

$dom = 새로운 DOMDocument();
@$dom->loadHTML($html);

// 페이지의 모든 내용을 가져옵니다
$xpath = 새로운 DOMXPath($dom);
$hrefs = $xpath->evaluate("/html/body//a");

for ($i = 0; $i < $hrefs->length; $i ) {
$href = $hrefs->항목($i);
$url = $href->getAttribute('href');
echo $url.'
';
}

4. 자동으로 URL을 변환하고 하이퍼링크로 이동

WordPress에서 자동으로 URL을 변환하고 하이퍼링크된 페이지로 이동하려면 내장 함수 make_clickable()을 사용하여 이 작업을 수행할 수 있습니다. 워드프레스 외부에서 프로그램을 운영하고 싶다면 wp-includes/formatting.php 소스코드를 참고하면 됩니다.

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

함수 _make_url_clickable_cb($matches) {
    $ret = '';
    $url = $matches[2];
  
    if ( 비어 있음($url) )
        $matches[0] 반환;
    // URL에서 후행 [.,;:]을 제거했습니다
    if ( in_array(substr($url, -1), array('.', ',', ';', ':')) === true ) {
        $ret = substr($url, -1);
        $url = substr($url, 0, strlen($url)-1);
    }
    $matches[1] 을 반환합니다. "$url" . $ret;
}
  
함수 _make_web_ftp_clickable_cb($matches) {
    $ret = '';
    $dest = $matches[2];
    $dest = 'http://' . $dest;
  
    if ( 비어 있음($dest) )
        $matches[0] 반환;
    // URL에서 후행 [,;:]을 제거했습니다
    if ( in_array(substr($dest, -1), array('.', ',', ';', ':')) === true ) {
        $ret = substr($dest, -1);
        $dest = substr($dest, 0, strlen($dest)-1);
    }
    $matches[1] 을 반환합니다. "$dest>" . $ret;
}
  
함수 _make_email_clickable_cb($matches) {
    $email = $matches[2] .
'@' . $matches[3];
    $matches[1] 을 반환합니다. "$emailmailto:$email">$email>";
}
  
함수 make_clickable($ret) {
    $ret = ' ' . $ret;
    // 테스트 결과 배열을 사용하는 것이 더 빠른 것으로 나타났습니다
    $ret = preg_replace_callback('#([s>])([w] ?://[w\x80-\xff#$%&~/.-;:=,?@[] ]*)#is' , '_make_url_clickable_cb', $ret);
    $ret = preg_replace_callback('#([s>])((www|ftp).[w\x80-\xff#$%&~/.-;:=,?@[] ]*)#is', '_make_web_ftp_clickable_cb', $ret);
    $ret = preg_replace_callback('#([s>])([.0-9a-z_ -] )@(([0-9a-z-] .) [0-9a-z]{2,})# i', '_make_email_clickable_cb', $ret);
  
    // 이것은 링크 내에서 실수로 발생한 링크를 정리하기 위해 마지막으로 실행해야 하기 때문에 배열에 없습니다
    $ret = preg_replace("#(] ?>|>))
] ?>([^>] ?)< ;/a>#i", "$1$3", $ret);
    $ret = 트림($ret);
    $ret 반환;
}

  五、创建数据URL

  数据URL可以直接嵌入到HTML/CSS/JS中,以节省大请求。 下면적这段代码可利用$file轻松创建数据URL。

复主代码 代码如下:

함수 data_uri($file, $mime) {
  $contents=file_get_contents($file);
  $base64=base64_encode($contents);
  echo "데이터:$mime;base64,$base64";
}

  六、从服务器上下载&保存一个远程图文 

  当你는 搭建网站时, 从远程服务器下载某张图 Images 并且将其保存에서 자체적으로 服务器上, 这一操작동을 위해 사용됩니다.到。代码如下:

复主代码 代码如下:

$image = file_get_contents('http://www.url.com/image.jpg');
file_put_contents('/images/image.jpg', $image); //이미지 저장 위치

7. 제거 Microsoft Word HTML 태그 제거

Microsoft Word를 사용하면 글꼴, 범위, 스타일, 클래스 등과 같은 많은 태그를 생성하게 됩니다. 이러한 태그는 Word 자체에는 매우 유용하지만 Word에서 웹 페이지에 붙여넣으면 쓸모없는 태그가 많이 발견됩니다. 따라서 다음 코드는 쓸모 없는 Word HTML 태그를 모두 제거하는 데 도움이 됩니다.

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

함수 cleanHTML($html) {
///
/// 모든 FONT 및 SPAN 태그와 모든 클래스 및 스타일 속성을 제거합니다.
/// 비표준 Microsoft Word HTML 태그를 제거하도록 설계되었습니다.
///
// 원하지 않는 모든 태그를 완전히 제거하는 것부터 시작하세요

$html = ereg_replace("<(/)?(font|span|del|ins)[^>]*>","",$html);

// 그런 다음 html에 대해 또 다른 패스(2회)를 실행하여 원하지 않는 속성을 제거합니다

$html = ereg_replace("<([^>]*)(class|lang|style|size|face)=("[^"]*"|'[^']*'|[^>] )([^>]*)>","",$html);
$html = ereg_replace("<([^>]*)(class|lang|style|size|face)=("[^"]*"|'[^']*'|[^>] )([^>]*)>","",$html);

$html 반환
}

8. 브라우저 언어 감지

웹사이트에 여러 언어가 있는 경우 이 코드를 기본 언어로 사용하여 브라우저 언어를 감지할 수 있습니다. 이 코드는 브라우저 클라이언트에서 사용되는 초기 언어를 반환합니다.

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

함수 get_client_언어($availableLanguages, $default='en'){
If (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
         $langs=explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);

foreach($langs를 $value로){
              $choice=substr($value,0,2);
If(in_array($choice, $availableLanguages)){
                      $choice 반환;
            }
       }
}  
$기본값 반환;
}

9. 페이스북 팬 수 표시

귀하의 웹사이트나 블로그에 내부적으로 연결된 Facebook 페이지가 있는 경우 팬이 몇 명인지 알고 싶을 수도 있습니다. 이 코드는 Facebook 팬 수를 확인하는 데 도움이 됩니다. 페이지 ID의 두 번째 줄에 이 코드를 추가하는 것을 잊지 마세요.

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

$page_id = "귀하의 페이지 ID";
$xml = @simplexml_load_file("http://api.facebook.com/restserver.php?method=facebook.fql.query&query=SELECT fan_count FROM 페이지 WHERE page_id=".$page_id."") 아니면 죽거나("많이");
$fans = $xml->page->fan_count;
에코 $fans;
?>
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿