首页 > 编程技术 > php

php下载远程大文件的实例

发布时间:2017-7-6 23:33

本篇文章结合实例为大家介绍了php下载远程大文件(获取远程文件大小)的方法,有需要的朋友就来参考一下吧。

废话不多说,直接上代码

 

 代码如下复制代码

<?php

  // 暂不支持断点续传

  // $url = 'http://www.mytest.com/debian.iso' 不知道为何获取本地文件大小为0

  $url='http://192.168.8.93/download/vm-672/18/0.vmdk'

  $file=basename($url);

  $header= get_headers($url, 1);

  $size=$header['Content-Length'];

 

  $fp=fopen($url,'rb');

  if($fp=== false)exit('文件不存在或打开失败');

 

  header('Content-Description: File Transfer');

  header('Content-Type: application/octet-stream');

  header('Content-Disposition: attachment; filename="'.$file.'"');

  header('Content-Transfer-Encoding: binary');

  header('Expires: 0');

  header('Cache-Control: must-revalidate, post-check=0, pre-check=0');

  header('Pragma: public');

  header('Content-Length: '.$size);

 

  ob_clean();

  ob_end_flush();

  set_time_limit(0);

   

  $chunkSize= 1024 * 1024;

  while(!feof($fp)) {

    $buffer=fread($fp,$chunkSize);

    echo$buffer;

    ob_flush();

    flush();

  }

  fclose($fp);

  exit;

 

本篇文章主要为大家介绍了php7基于递归实现删除空文件夹的方法示例,结合实例,很有参考价值,有需要的朋友就来看一看吧。

本文实例讲述了php7基于递归实现删除空文件夹的方法。分享给大家供大家参考,具体如下:

php版本7.0.4

代码如下:

 

 代码如下复制代码

<?php

$path='d:/'

rmDir_1($path);

functionrmDir_1($path) {

  $files= scandir($path);

// 删除当前目录和上一级目录

  foreach($filesas$key=>$file) {

    if($file=='.'||$file=='..') {

      unset($files[$key]);

    }

  }

  if($files) {

    foreach($filesas$file) {

      if(is_dir($path.'/'.$file)) {

        //echo 'dir=' . $path . '/' . $file . PHP_EOL;

        rmDir_1($path.'/'.$file);

      }

    }

  }else{

    //echo 'rmdir=' . $path . PHP_EOL;

    rmdir($path);

  }

}

?>

 

本篇文章为大家介绍了Python实现获取命令行输出结果的方法,有需要的朋友可以来参考一下。

本文实例讲述了Python实现获取命令行输出结果的方法。分享给大家供大家参考,具体如下:

Python获取命令行输出结果,并对结果进行过滤找到自己需要的!

这里以获取本机MAC地址和IP地址为例!

 

 代码如下复制代码

# coding: GB2312

importos, re

# execute command, and return the output

defexecCmd(cmd):

  r=os.popen(cmd)

  text=r.read()

  r.close()

  returntext

# write "data" to file-filename

defwriteFile(filename, data):

  f=open(filename,"w")

  f.write(data)

  f.close()

# 获取计算机MAC地址和IP地址

if__name__=='__main__':

  cmd="ipconfig /all"

  result=execCmd(cmd)

  pat1="Physical Address[\. ]+: ([\w-]+)"

  pat2="IP Address[\. ]+: ([\.\d]+)"

  MAC=re.findall(pat1, result)[0]   # 找到MAC

  IP=re.findall(pat2, result)[0]   # 找到IP

  print("MAC=%s, IP=%s"%(MAC, IP))

 

运行结果:

 

 代码如下复制代码

E:\Program\Python>del.py

MAC=00-1B-77-CD-62-2B, IP=192.168.1.110

E:\Program\Python>

 

本篇文章结合实例为大家介绍了PHP获取数组中单列值的方法,有需要的朋友可以参考一下。

 

本文实例讲述了PHP获取数组中单列值的方法。分享给大家供大家参考,具体如下:

PHP中获取数组中单列的值如下:

利用PHP中的数组函数array_column():返回数组中某个单列的值。(PHP 5.5+适用)

语法:

array_column(array,column_key,index_key);

参数:

array: 必需,规定必须为多维数组;
column_key: 必需,需要返回的值的键名;可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。该参数也可以是 NULL,此时将返回整个数组(配合 index_key 参数来重置数组键的时候,非常有用)。
index_key: 可选。用作返回数组的索引/键的列。

实例:

从记录集中取出 last_name 列,用相应的 "id" 列作为键值:

 

 代码如下复制代码

<?php

// 表示由数据库返回的可能记录集的数组

$a=array(

 array(

  'id'=> 5698,

  'first_name'=>'Bill',

  'last_name'=>'Gates',

 ),

 array(

  'id'=> 4767,

  'first_name'=>'Steve',

  'last_name'=>'Jobs',

 )

 array(

  'id'=> 3809,

  'first_name'=>'Mark',

  'last_name'=>'Zuckerberg',

 )

);

$last_names= array_column($a,'last_name','id');

print_r($last_names);

?>

 

输出:

 

 代码如下复制代码

Array

(

 [5698] => Gates

 [4767] => Jobs

 [3809] => Zuckerberg

)

 

 

 

标签:[!--infotagslink--]

您可能感兴趣的文章: