我有一个名为" 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