当前位置:  编程技术>php
本页文章导读:
    ▪使用ftp传送、下载、删除文件的三个例子      1、传送文件 代码如下: <?php     // 开始     $ret = ftp_nb_get ($my_connection, "test", "README", FTP_BINARY,filesize("test"));     // 或: $ret = ftp_nb_get ($my_connection, "test", "README",     //     FTP_BINARY, .........
    ▪php检测网址地址与http地址格式是否有效的代码      php检测网址地址与http地址格式是否有效的代码,有用得上的朋友,不妨参考下了。 1、检测网址地址格式是否有效   代码如下: <?php /**   desc:检网络地址格式是否有效   link:www.   dat.........
    ▪压缩多个CSS与JS文件的php代码      压缩多个CSS与JS文件的php代码,供大家学习参考。 1. 压缩css compress.php   代码如下: <?php      header('Content-type: text/css');      ob_start("compress");      function compress($buffer) {      .........

[1]使用ftp传送、下载、删除文件的三个例子
    来源: 互联网  发布时间: 2013-12-24

1、传送文件

代码如下:

<?php
    // 开始
    $ret = ftp_nb_get ($my_connection, "test", "README", FTP_BINARY,filesize("test"));
    // 或: $ret = ftp_nb_get ($my_connection, "test", "README",
    //     FTP_BINARY, FTP_AUTORESUME);
    while ($ret == FTP_MOREDATA) {

       // 可以插入其它代码
       echo ".";
       // 继续传送...
       $ret = ftp_nb_continue ($my_connection);
    }
    if ($ret != FTP_FINISHED) {
       echo "下载出错...";
       exit(1);
    }
?>

2、删除文件

代码如下:
<?php
    $file = 'public_html/old.txt';
    // 连接FTP服务器
    $conn_id = ftp_connect('');
    // 验证用户名和密码
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
    // 删除指定文件
    if (ftp_delete($conn_id, $file)) {
    echo "$file 文件删除成功 n";
    } else {
    echo "删除 $file 文件失败n";
    }
    // 关闭FTP连接
    ftp_close($conn_id);
?>

3、下载文件

代码如下:
<?php
    $file = 'somefile.txt';
    // 连接FTP服务器
    $conn_id = ftp_connect($ftp_server);
    //验证用户名和密码
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
    //获取指定文件的大小
    $res = ftp_size($conn_id, $file);
    if ($res != -1) {
        echo " $file 文件大小为 $res字节";
    } else {
        echo "获取远程文件大小失败";
    }
    //关闭FTP连接
    ftp_close($conn_id);
?>

您可能感兴趣的文章:
php ftp函数应用(范例,ftp类,创建目录函数等)
php自定义ftp类与调用实例
php ftp类(上传、下载、复制、移动等)
仿CodeIgniter的FTP类的实现代码
php实现ftp上传的类与调用示例
php ftp文件上传函数的简单例子
php ftp下载文件的代码一例
php使用ftp下载文件的简单例子
php实现文件的自动ftp更新
又一个php FTP上传类
php使用ftp函数实现简单上传功能
php使用ftp函数上传文件的简单例子
php使用ftp函数创建目录(生成静态)
php写的ftp文件上传类
php的ftp函数操作实例
无需重新编译php加入ftp扩展的方法


    
[2]php检测网址地址与http地址格式是否有效的代码
    来源: 互联网  发布时间: 2013-12-24

php检测网址地址与http地址格式是否有效的代码,有用得上的朋友,不妨参考下了。

1、检测网址地址格式是否有效
 

代码如下:
<?php
/**
  desc:检网络地址格式是否有效
  link:www.
  date:2013/2/24
*/
function checkUrl(/blog_article/$weburl/index.html)  
{  
  return !ereg("^http(s)*://[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$", $weburl);  
} ?>

2、判断http 地址是否有效
 

代码如下:

<?php
/**
  desc:检测http 地址是否有效
  link:www.
  date:2013/2/24
*/
function url_exists($url) 

  $ch = curl_init(); 
  curl_setopt($ch, CURLOPT_URL,$url); 
  curl_setopt($ch, CURLOPT_NOBODY, 1); // 不下载 
  curl_setopt($ch, CURLOPT_FAILONERROR, 1); 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
  return (curl_exec($ch)!==false) ? true : false; 
}

//方法2
function img_exists($url)  

     return file_get_contents($url,0,null,0,1) ? true : false; 

//方法3:
function url_exists($url)  

   $head = @get_headers($url); 
   return is_array($head) ?  true : false; 
} ?>

调用示例:
 

代码如下:
<?php
 $url='http://www.'; 
 echo url_exists($url);
?>

    
[3]压缩多个CSS与JS文件的php代码
    来源: 互联网  发布时间: 2013-12-24

压缩多个CSS与JS文件的php代码,供大家学习参考。

1. 压缩css
compress.php
 

代码如下:
<?php 
    header('Content-type: text/css'); 
    ob_start("compress"); 
    function compress($buffer) { 
        /* remove comments */ 
        $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer); 
        /* remove tabs, spaces, newlines, etc. */ 
        $buffer = str_replace()(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer); 
        return $buffer; 
    }   
     
    /* your css files */ 
    include('galleria.css'); 
    include('articles.css'); 
     
    ob_end_flush(); 
?>

实例化:
test.php
 

代码如下:
<link href="/blog_article/compress.html" rel="stylesheet" type="text/css" /> 
<span id="tester">test</span>

2. 压缩js
利用jsmin类
来源:http://code.google.com/p/minify/
 
compress.php
 

代码如下:
<?php
header('Content-type: text/javascript'); 
require 'jsmin.php'; 
echo JSMin::minify(file_get_contents('common.js') . file_get_contents('common2.js')); 
?>

common.js
alert('first js'); 

common.js
alert('second js'); 

jsmin.php
 

代码如下:
<?php 
    /**
     * jsmin.php - extended PHP implementation of Douglas Crockford's JSMin.
     *
     * <code>
     * $minifiedJs = JSMin::minify($js);
     * </code>
     *
     * This is a direct port of jsmin.c to PHP with a few PHP performance tweaks and
     * modifications to preserve some comments (see below). Also, rather than using
     * stdin/stdout, JSMin::minify() accepts a string as input and returns another
     * string as output.
     * 
     * Comments containing IE conditional compilation are preserved, as are multi-line
     * comments that begin with "/*!" (for documentation purposes). In the latter case
     * newlines are inserted around the comment to enhance readability.
     *
     * PHP 5 or higher is required.
     *
     * Permission is hereby granted to use this version of the library under the
     * same terms as jsmin.c, which has the following license:
     *
     * --
     * Copyright (c) 2002 Douglas Crockford  (www.crockford.com)
     *
     * Permission is hereby granted, free of charge, to any person obtaining a copy of
     * this software and associated documentation files (the "Software"), to deal in
     * the Software without restriction, including without limitation the rights to
     * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
     * of the Software, and to permit persons to whom the Software is furnished to do
     * so, subject to the following conditions:
     *
     * The above copyright notice and this permission notice shall be included in all
     * copies or substantial portions of the Software.
     *
     * The Software shall be used for Good, not Evil.
     *
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
     * SOFTWARE.
     * --
     *
     * @package JSMin
     * @author Ryan Grove <ryan@wonko.com> (PHP port)
     * @author Steve Clay <steve@mrclay.org> (modifications + cleanup)
     * @author Andrea Giammarchi <http://www.3site.eu> (spaceBeforeRegExp)
     * @copyright 2002 Douglas Crockford <douglas@crockford.com> (jsmin.c)
     * @copyright 2008 Ryan Grove <ryan@wonko.com> (PHP port)
     * @license http://opensource.org/licenses/mit-license.php MIT License
     * @link http://code.google.com/p/jsmin-php/
     */ 
     
    class JSMin { 
        const ORD_LF            = 10; 
        const ORD_SPACE         = 32; 
        const ACTION_KEEP_A     = 1; 
        const ACTION_DELETE_A   = 2; 
        const ACTION_DELETE_A_B = 3; 
         
        protected $a           = "\n"; 
        protected $b           = ''; 
        protected $input       = ''; 
        protected $inputIndex  = 0; 
        protected $inputLength = 0; 
        protected $lookAhead   = null; 
        protected $output      = ''; 
     
        /**
         * Minify Javascript
         *
         * @param string $js Javascript to be minified
         * @return string
         */ 
        public static function minify($js) 
        { 
            // look out for syntax like "++ +" and "- ++" 
            $p = '\\+'; 
            $m = '\\-'; 
            if (preg_match("/([$p$m])(?:\\1 [$p$m]| (?:$p$p|$m$m))/", $js)) { 
                // likely pre-minified and would be broken by JSMin 
                return $js; 
            } 
            $jsmin = new JSMin($js); 
            return $jsmin->min(); 
        } 
     
        /*
         * Don't create a JSMin instance, instead use the static function minify,
         * which checks for mb_string function overloading and avoids errors
         * trying to re-minify the output of Closure Compiler
         *
         * @private
         */ 
        public function __construct($input) 
        { 
            $this->input = $input; 
        } 
         
        /**
         * Perform minification, return result
         */ 
        public function min() 
        { 
            if ($this->output !== '') { // min already run 
                return $this->output; 
            } 
     
            $mbIntEnc = null; 
            if (function_exists('mb_strlen') && ((int)ini_get('mbstring.func_overload') & 2)) { 
                $mbIntEnc = mb_internal_encoding(); 
                mb_internal_encoding('8bit'); 
            } 
            $this->input = str_replace("\r\n", "\n", $this->input); 
            $this->inputLength = strlen($this->input); 
     
            $this->action(self::ACTION_DELETE_A_B); 
             
            while ($this->a !== null) { 
                // determine next command 
                $command = self::ACTION_KEEP_A; // default 
                if ($this->a === ' ') { 
                    if (! $this->isAlphaNum($this->b)) { 
                        $command = self::ACTION_DELETE_A; 
                    } 
                } elseif ($this->a === "\n") { 
                    if ($this->b === ' ') { 
                        $command = self::ACTION_DELETE_A_B; 
                    // in case of mbstring.func_overload & 2, must check for null b, 
                    // otherwise mb_strpos will give WARNING 
                    } elseif ($this->b === null 
                              || (false === strpos('{[(+-', $this->b) 
                                  && ! $this->isAlphaNum($this->b))) { 
                        $command = self::ACTION_DELETE_A; 
                    } 
                } elseif (! $this->isAlphaNum($this->a)) { 
                    if ($this->b === ' ' 
                        || ($this->b === "\n"  
                            && (false === strpos('}])+-"\'', $this->a)))) { 
                        $command = self::ACTION_DELETE_A_B; 
                    } 
                } 
                $this->action($command); 
            } 
            $this->output = trim($this->output); 
     
            if ($mbIntEnc !== null) { 
                mb_internal_encoding($mbIntEnc); 
            } 
            return $this->output; 
        } 
         
        /**
         * ACTION_KEEP_A = Output A. Copy B to A. Get the next B.
         * ACTION_DELETE_A = Copy B to A. Get the next B.
         * ACTION_DELETE_A_B = Get the next B.
         */ 
        protected function action($command) 
        { 
            switch ($command) { 
                case self::ACTION_KEEP_A: 
                    $this->output .= $this->a; 
                    // fallthrough 
                case self::ACTION_DELETE_A: 
                    $this->a = $this->b; 
                    if ($this->a === "'" || $this->a === '"') { // string literal 
                        $str = $this->a; // in case needed for exception 
                        while (true) { 
                            $this->output .= $this->a; 
                            $this->a       = $this->get(); 
                            if ($this->a === $this->b) { // end quote 
                                break; 
                            } 
                            if (ord($this->a) <= self::ORD_LF) { 
                                throw new JSMin_UnterminatedStringException( 
                                    "JSMin: Unterminated String at byte " 
                                    . $this->inputIndex . ": {$str}"); 
                            } 
                            $str .= $this->a; 
                            if ($this->a === '\\') { 
                                $this->output .= $this->a; 
                                $this->a       = $this->get(); 
                                $str .= $this->a; 
                            } 
                        } 
                    } 
                    // fallthrough 
                case self::ACTION_DELETE_A_B: 
                    $this->b = $this->next(); 
                    if ($this->b === '/' && $this->isRegexpLiteral()) { // RegExp literal 
                        $this->output .= $this->a . $this->b; 
                        $pattern = '/'; // in case needed for exception 
                        while (true) { 
                            $this->a = $this->get(); 
                            $pattern .= $this->a; 
                            if ($this->a === '/') { // end pattern 
                                break; // while (true) 
                            } elseif ($this->a === '\\') { 
                                $this->output .= $this->a; 
                                $this->a       = $this->get(); 
                                $pattern      .= $this->a; 
                            } elseif (ord($this->a) <= self::ORD_LF) { 
                                throw new JSMin_UnterminatedRegExpException( 
                                    "JSMin: Unterminated RegExp at byte " 
                                    . $this->inputIndex .": {$pattern}"); 
                            } 
                            $this->output .= $this->a; 
                        } 
                        $this->b = $this->next(); 
                    } 
                // end case ACTION_DELETE_A_B 
            } 
        } 
         
        protected function isRegexpLiteral() 
        { 
            if (false !== strpos("\n{;(,=:[!&|?", $this->a)) { // we aren't dividing 
                return true; 
            } 
            if (' ' === $this->a) { 
                $length = strlen($this->output); 
                if ($length < 2) { // weird edge case 
                    return true; 
                } 
                // you can't divide a keyword 
                if (preg_match('/(?:case|else|in|return|typeof)$/', $this->output, $m)) { 
                    if ($this->output === $m[0]) { // odd but could happen 
                        return true; 
                    } 
                    // make sure it's a keyword, not end of an identifier 
                    $charBeforeKeyword = substr($this->output, $length - strlen($m[0]) - 1, 1); 
                    if (! $this->isAlphaNum($charBeforeKeyword)) { 
                        return true; 
                    } 
                } 
            } 
            return false; 
        } 
         
        /**
         * Get next char. Convert ctrl char to space.
         */ 
        protected function get() 
        { 
            $c = $this->lookAhead; 
            $this->lookAhead = null; 
            if ($c === null) { 
                if ($this->inputIndex < $this->inputLength) { 
                    $c = $this->input[$this->inputIndex]; 
                    $this->inputIndex += 1; 
                } else { 
                    return null; 
                } 
            } 
            if ($c === "\r" || $c === "\n") { 
                return "\n"; 
            } 
            if (ord($c) < self::ORD_SPACE) { // control char 
                return ' '; 
            } 
            return $c; 
        } 
         
        /**
         * Get next char. If is ctrl character, translate to a space or newline.
         */ 
        protected function peek() 
        { 
            $this->lookAhead = $this->get(); 
            return $this->lookAhead; 
        } 
         
        /**
         * Is $c a letter, digit, underscore, dollar sign, escape, or non-ASCII?
         */ 
        protected function isAlphaNum($c) 
        { 
            return (preg_match('/^[0-9a-zA-Z_\\$\\\\]$/', $c) || ord($c) > 126); 
        } 
         
        protected function singleLineComment() 
        { 
            $comment = ''; 
            while (true) { 
                $get = $this->get(); 
                $comment .= $get; 
                if (ord($get) <= self::ORD_LF) { // EOL reached 
                    // if IE conditional comment 
                    if (preg_match('/^\\/@(?:cc_on|if|elif|else|end)\\b/', $comment)) { 
                        return "/{$comment}"; 
                    } 
                    return $get; 
                } 
            } 
        } 
         
        protected function multipleLineComment() 
        { 
            $this->get(); 
            $comment = ''; 
            while (true) { 
                $get = $this->get(); 
                if ($get === '*') { 
                    if ($this->peek() === '/') { // end of comment reached 
                        $this->get(); 
                        // if comment preserved by YUI Compressor 
                        if (0 === strpos($comment, '!')) { 
                            return "\n/*" . substr($comment, 1) . "*/\n"; 
                        } 
                        // if IE conditional comment 
                        if (preg_match('/^@(?:cc_on|if|elif|else|end)\\b/', $comment)) { 
                            return "/*{$comment}*/"; 
                        } 
                        return ' '; 
                    } 
                } elseif ($get === null) { 
                    throw new JSMin_UnterminatedCommentException( 
                        "JSMin: Unterminated comment at byte " 
                        . $this->inputIndex . ": /*{$comment}"); 
                } 
                $comment .= $get; 
            } 
        } 
         
        /** 
         * Get the next character, skipping over comments. 
         * Some comments may be preserved. 
         */ 
        protected function next() 
        { 
            $get = $this->get(); 
            if ($get !== '/') { 
                return $get; 
            } 
            switch ($this->peek()) { 
                case '/': return $this->singleLineComment(); 
                case '*': return $this->multipleLineComment(); 
                default: return $get; 
            } 
        } 
    } 
     
    class JSMin_UnterminatedStringException extends Exception {} 
    class JSMin_UnterminatedCommentException extends Exception {} 
    class JSMin_UnterminatedRegExpException extends Exception {} 
?>

调用示例:
 

代码如下:
<script type="text/javascript" src="/blog_article/fonts.html"></script> 

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3