PHP下载远程文件及获取文件内容

/**
     * 获取远程文件的内容
     * @parma $url  URL
     * @return 获得内容
     * **/
    public static function getContent($url){
		$flag = 0;
		do {
			$hCurl = curl_init();
			curl_setopt($hCurl, CURLOPT_HEADER, 0);
			curl_setopt($hCurl, CURLOPT_RETURNTRANSFER, 1);
			curl_setopt($hCurl, CURLOPT_TIMEOUT, 120);
			curl_setopt($hCurl, CURLOPT_CONNECTTIMEOUT, 4);
			curl_setopt($hCurl, CURLOPT_URL, $url);

			$data = curl_exec($hCurl);

			if (curl_errno($hCurl)) {
				break;
			}

			$http_code = curl_getinfo($hCurl, CURLINFO_HTTP_CODE);
			if ($http_code >= 400) { //400 - 600 is server error
				break;
			}
			$flag = 1;
		} while (0);
		curl_close($hCurl);

		if ($flag) {
			return $data;
		} else {
			return false;
		}
	}
	/**
	 * 下载远程文件保存本地文件
	 * @parma $fileName 保存文件
	 * @parma $url  URL
     * @return 获得内容
	 * **/
	public static function getContentToFile($fileName, $url)
	{
		$out = fopen($fileName, ‘w‘);
		if (empty($out)) {
			return false;
		}

		$flag = 0;
		do {
			$hCurl = curl_init();
			curl_setopt($hCurl, CURLOPT_HEADER, 0);
			curl_setopt($hCurl, CURLOPT_RETURNTRANSFER, 1);
			curl_setopt($hCurl, CURLOPT_TIMEOUT, 120);
			curl_setopt($hCurl, CURLOPT_CONNECTTIMEOUT, 4);
			curl_setopt($hCurl, CURLOPT_FILE, $out);
			curl_setopt($hCurl, CURLOPT_URL, $url);

			$data = curl_exec($hCurl);

			if (curl_errno($hCurl)) {
				break;
			}

			$http_code = curl_getinfo($hCurl, CURLINFO_HTTP_CODE);
			if ($http_code >= 400) { //400 - 600 is server error
				break;
			}
			$flag = 1;
		} while (0);

		curl_close($hCurl);
		fclose($out);

		if ($flag) {
			return $data;
		} else {
			return false;
		}
	}
时间: 2024-12-14 18:55:20

PHP下载远程文件及获取文件内容的相关文章

C# 实现访问FTP服务器下载文件,获取文件夹信息小记

最近因为要开发广告制作工具,自动生成广告流,需要获取第三方服务器上的文件资源,经过摸索,从这次经历中记录下. FtpWebRequest reqFtp; WebResponse response = null; //获取文件夹信息 reqFtp = (FtpWebRequest)WebRequest.Create(this.ftp);//ftp://IP:port/文件夹名1/文件夹名2/.../文件夹名 reqFtp.UseBinary = true; reqFtp.KeepAlive = f

使用CFileFind类查找文件并获取文件图标

以CListCtrl为例,使用CFileFind类查找文件并获取文件的图标填充到CListCtrl中 主要代码如下: int CTestDlg::OnInitDialog(void) { //获取控件指针 CListCtrl* plst_ctl=(CListCtrl*)GetDlgItem(IDC_LIST1);//IDC_LIST1为CListCtrl控件的ID //添加图标(将图标存放在CImageList对象中,并与CListCrtl控件相关联) //m_imagelist_b.Creat

根据文件夹地址获取txt文件并获取txt内容索引

本文章原创,引用转载请注明作者出处. 这两天写了一个小的C++程序,用的开发工具是visual studio.个人感觉Microsoft做的visual studio真心的很强大,推荐大家在开发c\c++,以及c#,asp.net等一些软件的时候可以使用visual studio. 说一下我开发的的程序效果:输入一个文件夹地址,程序可以遍历该文件夹以及该文件夹中所有子文件夹中文件,经过判断获取所有txt类型文件地址,并进入txt文件根据txt文件内容生成索引返回.之后用户可以输入关键字,程序返回

nodejs 获取文件夹中的文件和获取文件夹中的所有图片

//获取项目工程里的图片 var fs = require('fs');//引用文件系统模块 var image = require("imageinfo"); //引用imageinfo模块 function readFileList(path, filesList) { var files = fs.readdirSync(path); files.forEach(function (itm, index) { var stat = fs.statSync(path + itm);

python文件夹遍历,文件操作,获取文件修改创建时间

在Python中,文件操作主要来自os模块,主要方法如下: os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前目录('.')os.chdir(dirname):改变工作目录到dirname os.path.isdir(name):判断name是不是一个目录,name不是目录就返回falseos.path.isfile(name):判断name是不是一个文件,不存在name也返回falseos.path.ex

根据文件名字获取文件的前缀和后缀的工具类

FileNameUtil.java package com.tyust.common; import org.junit.Test; /** * 获取文件后缀前缀的工具类 * * @author QiaoLiQiang * @time 2018年2月5日下午4:38:20 */ public class FileNameUtil { /** * 获取文件前缀 * * @param fileName * @return */ public static String getFilePrefix(S

Python---进阶---文件操作---获取文件夹下所有文件的数量和大小

一.####编写一个程序,统计当前目录下每个文件类型的文件数 ####思路: - 打开当前的文件夹 - 获取到当前文件夹下面所有的文件 - 处理我们当前的文件夹下面可能有文件夹的情况(也打印出来) - 做出统计 ------------------------------------- import os #获取到当前文件夹下面所有的文件all_files = os.listdir(os.curdir) #os.curdir 表示当前目录 curdir:currentdirectory type

python 通过文件路径获取文件hash值

1 import hashlib 2 import os,sys 3 4 def CalcSha1(filepath): 5 with open(filepath,'rb') as f: 6 sha1obj = hashlib.sha1() 7 sha1obj.update(f.read()) 8 hash = sha1obj.hexdigest() 9 print(hash) 10 return hash 11 12 def CalcMD5(filepath): 13 with open(fi

python利用文件对话框获取文件路径

一.单文件 python3: 1 import tkinter as tk 2 from tkinter import filedialog 3 4 root = tk.Tk() 5 root.withdraw() 6 7 file_path = filedialog.askopenfilename() python2: 1 import Tkinter, tkFileDialog 2 3 root = Tkinter.Tk() 4 root.withdraw() 5 6 file_path =