分享一个PHP的远程图片抓取函数

下面的代码是一个PHP的远程图片抓取函数:

<?php
/**
 * 抓取远程图片
 * 
 * @param string $url 远程图片路径
 * @param string $filename 本地存储文件名
 */
function grabImage($url, $filename = '') {
    if($url == '') {
        return false; //如果 $url 为空则返回 false;
    }
    $ext_name = strrchr($url, '.'); //获取图片的扩展名
    if($ext_name != '.gif' && $ext_name != '.jpg' && $ext_name != '.bmp' && $ext_name != '.png') {
        return false; //格式不在允许的范围
    }
    if($filename == '') {
        $filename = time().$ext_name; //以时间戳另起名
    }
    //开始捕获
    ob_start();
    readfile($url);
    $img_data = ob_get_contents();
    ob_end_clean();
    $size = strlen($img_data);
    $local_file = fopen($filename , 'a');
    fwrite($local_file, $img_data);
    fclose($local_file);
    return $filename;
}
?>

详解PHP中include和require的区别

PHP
1.报错
include引入文件时,如果遇到错误,会报出Warning,并继续执行后面的代码;
require引入文件时,如果遇到错误,会报出Error,并停止运行后面的代码。

举例说明,创建两个名为 test-include.php 和 test-require.php 的PHP文件,
注意相同的目录中,不要存在一个名字是test-nothing.php的文件。
test-include.php

<?php
include 'test-nothing.php'; //包含一个不存在的文件
echo 'abc';
?>

test-require.php

<?php
require 'test-nothing.php'; //包含一个不存在的文件
echo 'abc';
?>

阅读更多