PHP 读取文件,返回二进制流

//获取文件dir
    $file_dir = xxxxx;
//使用file_exists判断文件是否存
                        ob_end_clean();
			ob_start();
//打开文件
			$handler 			= fopen($file_dir, ‘r+b‘);
			$file_size 			= filesize($file_dir);
			//声明头信息
			Header("Content-type: application/octet-stream");
	        Header("Accept-Ranges: bytes");
	        Header("Accept-Length: ".$file_size);
	        Header("Content-Disposition: attachment; filename=" . basename( $file_dir));
	        // 输出文件内容
	        echo fread($handler,$file_size);
	        fclose($handler);
	        ob_end_flush();
	        exit;

  

时间: 2024-08-26 19:16:42

PHP 读取文件,返回二进制流的相关文章

文件和二进制流的相互转换

/// <summary>        /// 把文件转化为二进制流        /// </summary>        /// <param name="Path"></param>        /// <returns></returns>        public static byte[] ConvertToBinary(string Path)        {            File

java对文件的二进制流base64编码解码

1.java对文件的二进制流base64编码解码 一般保存文件的时候选择的方式是将url存进数据库.今天遇到一个对接传文件流的二进制base64编码,简单记录一下. 依赖于commons-io包和commons-codec包. 编码的方法如下: public static String encodeFile(File file) throws IOException { byte[] readFileToByteArray = FileUtils.readFileToByteArray(file

文件生成二进制流,二进制流生成文件

#region 将二进制转化为文件 public static string ConvertByteToFile(object objData, string filePathName) { //string fileName = ""; //fileName = new PublicConst().PathTempFile + fileName; string folder = System.IO.Path.GetDirectoryName(filePathName); if (!S

文件转二进制流

/** * file->byte[] * * @param file */ public static byte[] fileToByte(File file) { byte[] byteArray = null; InputStream is; ByteArrayOutputStream baos; try { is = new FileInputStream(file); baos = new ByteArrayOutputStream(1024 * 1024); byte[] buf =

ajax 请求二进制流 图片 文件 XMLHttpRequest 请求并处理二进制流数据 之最佳实践

写在前面 :从提出需求到完美的解决问题,实现过程是曲折的. 需求:在前(web client)后(Restful Service)端完全解耦的模式框架下,webclient需要请求 Service 返回的图片文件(二进制流),并在client端显示. 第一步思考:拿到此需求, 基于程序员的狂妄心里,思考到显示图片而已,jquery ajax直接get请求 将返回data 赋值给img标签的src属性即可嘛,so easy~ 不知天高地后的小子开始码代码,经过几分钟给出了以下的代码,并自信满满的准

C# 对象、文件与二进制串(byte数组)之间的转换

1.关于本文 在使用C#下的TCP(类TcpClient).UDP(类UdpClient)协议传输信息时,都需要将信息转换为byte类型的数组进行发送.本文实现了两种object与byte数组的转换和一种文件与byte数组转换的方式.基础类型的数据,可以用BitConverter类中的函数进行转换. 2.object与byte[]的相互转换:使用IFormatter的Serialize和Deserialize进行序列化与反序列化 实现这个功能,需要先引用三个命名空间:System.IO.Syst

HTML5 文件域+FileReader 分段读取文件(四)

一.分段读取txt文本 HTML: <div class="container"> <div class="panel panel-default"> <div class="panel-heading">分段读取文件:</div> <div class="panel-body"> <input type="file" id="fi

HTML5 文件域+FileReader 分段读取文件并上传到服务器(六)

说明:使用Ajax方式上传,文件不能过大,最好小于三四百兆,因为过多的连续Ajax请求会使后台崩溃,获取InputStream中数据会为空,尤其在Google浏览器测试过程中. 1.简单分段读取文件为Blob,ajax上传到服务器 <div class="container"> <div class="panel panel-default"> <div class="panel-heading">分段读取文件

PHP文件操作 之读取一个文件(以二进制只读的方式打开)

最近应用了文件的读取,顺便复习一下! //读取一个文件 $f = fopen($filename,'rb'); $f: 表示返回的一个资源句柄 $filename:要打开的文件路径 rb:参数,表示只读且以二进制的形式打开该文件 读取后循环该文件数据,因为读取文件是一行一行的 //如果没有读取到文件结束则循环 while(!feof($f)) { $str = fgets($f);//获取的是每一行的数据 /*对该数据进行的操作代码...*/ } //关闭该资源 fclose($f);