C#BackgroundUploader的PHP服务器端脚本

时间:2014-12-12 16:44:00

标签: c# php windows-phone-8.1 windows-8.1

我尝试使用BackgroundTrasfer Sample将文件上传到Apache服务器。 问题是我找不到服务器端PHP脚本,它使用php:// input而不是enctype =“multipart / form-data”。

PHP开发人员说改变你的C#。 C#开发人员说改变你的PHP。我很绝望。我确信我不是试图将文件从Windows应用程序上传到没有ASP的Apache服务器的拳头。最后它应该是一个标准的脚本。

最后我必须将这个ASPX脚本翻译成PHP

string fileName = Request.Headers["Filename"];
Response.Write("Filename is " + fileName);

string saveLocation = Server.MapPath("Data") + "\\" + fileName;
using (System.IO.FileStream fs = new System.IO.FileStream(saveLocation, System.IO.FileMode.Create))
{
    Request.InputStream.CopyTo(fs);
}

1 个答案:

答案 0 :(得分:1)

$handle = fopen("php://input", "rb");
while (!feof($handle)) {
   $contents = fread($handle, 1024*1024); //Read by 1mb
   file_put_contents('file.bin', $contents, FILE_APPEND);
}
fclose($handle);

这只是一个例子,它缺乏验证等等!但它应该让你对阅读文件的方式有所了解。

在这里你可以多写一点(使用PUT方法时常用):http://php.net/manual/pl/features.file-upload.put-method.php