如何从$ _POST变量解压缩PHP中的Gzip文件?

时间:2014-06-25 16:35:24

标签: c# php compression gzip webclient

我有一个名为" allFilesList.txt"的文件。我想发送到远程Web服务器,然后我从php文件中读取文本文件的内容" post.php"在用分隔符" !!!"分割它的内容之后逐行排列。

我能够在不压缩文件的情况下完成此操作。但是文件的大小是18MB,因此我想在将其发布到远程服务器之前对其进行压缩。我的问题是,一旦远程php文件收到文件,我就不知道如何解压缩文件。

我使用下面的代码将文本文件压缩为gzip,然后将其转换为base64并将其发布到远程服务器。

C#

 CompressFile("allFilesList.txt"); // this will make a file named allFilesList.txt.gz

                    byte[] allFilesList = File.ReadAllBytes("allFilesList.txt.gz");
                    //
                    string URIx = "http://example.com/post.php";
                    System.Collections.Specialized.NameValueCollection data = new System.Collections.Specialized.NameValueCollection();
                    data.Add("serial", serial);
                    data.Add("data", Convert.ToBase64String(allFilesList));
                    using (WebClient tayba = new System.Net.WebClient())
                    {
                        try
                        {
                            tayba.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
                            tayba.Proxy = null;
                            tayba.UploadValues(URIx, "POST", data);
                        }
                        catch (Exception E) { }

                    }

在php文件中:

 <?php
if (isset($_POST["serial"], $_POST["data"])) {


$serial = $_POST["serial"];
$allFilesList = $_POST["data"];


$allFilesList = explode("!!!",$allFilesList);

foreach ($allFilesList as $a) {
//do something to $a

}



}

文本文件的内容

HELLO!!!WORLD!!!THIS!!!IS!!!EXAMPLE

0 个答案:

没有答案