当前位置: 首页>>代码示例>>PHP>>正文


PHP debug_fclose函数代码示例

本文整理汇总了PHP中debug_fclose函数的典型用法代码示例。如果您正苦于以下问题:PHP debug_fclose函数的具体用法?PHP debug_fclose怎么用?PHP debug_fclose使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了debug_fclose函数的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: pingback

function pingback($content, $post_ID)
{
    global $wp_version, $wpdb;
    include_once ABSPATH . WPINC . '/class-IXR.php';
    // original code by Mort (http://mort.mine.nu:8080)
    $log = debug_fopen(ABSPATH . '/pingback.log', 'a');
    $post_links = array();
    debug_fwrite($log, 'BEGIN ' . date('YmdHis', time()) . "\n");
    $pung = get_pung($post_ID);
    // Variables
    $ltrs = '\\w';
    $gunk = '/#~:.?+=&%@!\\-';
    $punc = '.:?\\-';
    $any = $ltrs . $gunk . $punc;
    // Step 1
    // Parsing the post, external links (if any) are stored in the $post_links array
    // This regexp comes straight from phpfreaks.com
    // http://www.phpfreaks.com/quickcode/Extract_All_URLs_on_a_Page/15.php
    preg_match_all("{\\b http : [{$any}] +? (?= [{$punc}] * [^{$any}] | \$)}x", $content, $post_links_temp);
    // Debug
    debug_fwrite($log, 'Post contents:');
    debug_fwrite($log, $content . "\n");
    // Step 2.
    // Walking thru the links array
    // first we get rid of links pointing to sites, not to specific files
    // Example:
    // http://dummy-weblog.org
    // http://dummy-weblog.org/
    // http://dummy-weblog.org/post.php
    // We don't wanna ping first and second types, even if they have a valid <link/>
    foreach ($post_links_temp[0] as $link_test) {
        if (!in_array($link_test, $pung) && url_to_postid($link_test) != $post_ID && !is_local_attachment($link_test)) {
            // Also, let's never ping local attachments.
            $test = parse_url($link_test);
            if (isset($test['query'])) {
                $post_links[] = $link_test;
            } elseif ($test['path'] != '/' && $test['path'] != '') {
                $post_links[] = $link_test;
            }
            do_action('pre_ping', array(&$post_links, &$pung));
        }
    }
    foreach ($post_links as $pagelinkedto) {
        debug_fwrite($log, "Processing -- {$pagelinkedto}\n");
        $pingback_server_url = discover_pingback_server_uri($pagelinkedto, 2048);
        if ($pingback_server_url) {
            @set_time_limit(60);
            // Now, the RPC call
            debug_fwrite($log, "Page Linked To: {$pagelinkedto} \n");
            debug_fwrite($log, 'Page Linked From: ');
            $pagelinkedfrom = get_permalink($post_ID);
            debug_fwrite($log, $pagelinkedfrom . "\n");
            // using a timeout of 3 seconds should be enough to cover slow servers
            $client = new IXR_Client($pingback_server_url);
            $client->timeout = 3;
            $client->useragent .= ' -- WordPress/' . $wp_version;
            // when set to true, this outputs debug messages by itself
            $client->debug = false;
            if ($client->query('pingback.ping', $pagelinkedfrom, $pagelinkedto)) {
                add_ping($post_ID, $pagelinkedto);
            } else {
                debug_fwrite($log, "Error.\n Fault code: " . $client->getErrorCode() . " : " . $client->getErrorMessage() . "\n");
            }
        }
    }
    debug_fwrite($log, "\nEND: " . time() . "\n****************************\n");
    debug_fclose($log);
}
开发者ID:robertlange81,项目名称:Website,代码行数:68,代码来源:comment-functions.php

示例2: pingback


//.........这里部分代码省略.........
         $port = isset($bits['port']) ? $bits['port'] : 80;
         // Try to connect to the server at $host
         $fp = fsockopen($host, $port, $errno, $errstr, 30);
         if (!$fp) {
             debug_fwrite($log, 'Couldn\'t open a connection to ' . $host . "\n\n");
             continue;
         }
         // Send the GET request
         $request = "GET {$path} HTTP/1.1\r\nHost: {$host}\r\nUser-Agent: WordPress/{$GLOBALS['wp_version']} PHP/" . phpversion() . "\r\n\r\n";
         @ob_end_flush();
         fputs($fp, $request);
         // Start receiving headers and content
         $contents = '';
         $headers = '';
         $gettingHeaders = true;
         $found_pingback_server = 0;
         while (!feof($fp)) {
             $line = fgets($fp, 4096);
             if (trim($line) == '') {
                 $gettingHeaders = false;
             }
             if (!$gettingHeaders) {
                 $contents .= trim($line) . "\n";
                 $pingback_link_offset_dquote = strpos($contents, $pingback_str_dquote);
                 $pingback_link_offset_squote = strpos($contents, $pingback_str_squote);
             } else {
                 $headers .= trim($line) . "\n";
                 $x_pingback_header_offset = strpos(strtolower($headers), $x_pingback_str);
             }
             if ($x_pingback_header_offset) {
                 preg_match('#x-pingback: (.+)#is', $headers, $matches);
                 $pingback_server_url = trim($matches[1]);
                 debug_fwrite($log, "Pingback server found from X-Pingback header @ {$pingback_server_url}\n");
                 $found_pingback_server = 1;
                 break;
             }
             if ($pingback_link_offset_dquote || $pingback_link_offset_squote) {
                 $quote = $pingback_link_offset_dquote ? '"' : '\'';
                 $pingback_link_offset = $quote == '"' ? $pingback_link_offset_dquote : $pingback_link_offset_squote;
                 $pingback_href_pos = @strpos($contents, 'href=', $pingback_link_offset);
                 $pingback_href_start = $pingback_href_pos + 6;
                 $pingback_href_end = @strpos($contents, $quote, $pingback_href_start);
                 $pingback_server_url_len = $pingback_href_end - $pingback_href_start;
                 $pingback_server_url = substr($contents, $pingback_href_start, $pingback_server_url_len);
                 debug_fwrite($log, "Pingback server found from Pingback <link /> tag @ {$pingback_server_url}\n");
                 $found_pingback_server = 1;
                 break;
             }
         }
         if (!$found_pingback_server) {
             debug_fwrite($log, "Pingback server not found\n\n*************************\n\n");
             @fclose($fp);
         } else {
             debug_fwrite($log, "\n\nPingback server data\n");
             // Assuming there's a "http://" bit, let's get rid of it
             $host_clear = substr($pingback_server_url, 7);
             //  the trailing slash marks the end of the server name
             $host_end = strpos($host_clear, '/');
             // Another clear cut
             $host_len = $host_end - $host_start;
             $host = substr($host_clear, 0, $host_len);
             debug_fwrite($log, 'host: ' . $host . "\n");
             // If we got the server name right, the rest of the string is the server path
             $path = substr($host_clear, $host_end);
             debug_fwrite($log, 'path: ' . $path . "\n\n");
             // Now, the RPC call
             $method = 'pingback.ping';
             debug_fwrite($log, 'Page Linked To: ' . $pagelinkedto . "\n");
             debug_fwrite($log, 'Page Linked From: ');
             $pagelinkedfrom = get_permalink($post_ID);
             debug_fwrite($log, $pagelinkedfrom . "\n");
             $client = new xmlrpc_client($path, $host, 80);
             $message = new xmlrpcmsg($method, array(new xmlrpcval($pagelinkedfrom), new xmlrpcval($pagelinkedto)));
             $result = $client->send($message);
             if ($result) {
                 if (!$result->value()) {
                     debug_fwrite($log, $result->faultCode() . ' -- ' . $result->faultString());
                 } else {
                     $value = xmlrpc_decode1($result->value());
                     if (is_array($value)) {
                         $value_arr = '';
                         foreach ($value as $blah) {
                             $value_arr .= $blah . ' |||| ';
                         }
                         debug_fwrite($log, $value_arr);
                     } else {
                         debug_fwrite($log, $value);
                     }
                 }
             }
             @fclose($fp);
         }
     }
     debug_fwrite($log, "\nEND: " . time() . "\n****************************\n\r");
     debug_fclose($log);
     for ($i = count($buf_keep) - 1; $i >= 0; $i--) {
         ob_start();
         echo $buf_keep[$i];
     }
 }
开发者ID:BackupTheBerlios,项目名称:nobunobuxoops-svn,代码行数:101,代码来源:functions.php


注:本文中的debug_fclose函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。