我正在client(C#)
使用webclient
or发送文件HttpWebRequest
。我想知道如何接收从客户端发送的文件PHP(Server)
。我查了$_POST
,是空的。
客户端代码(c#):
using (WebClient client = new WebClient())
{
client.UploadFile("http://path/file.php","POST",@"Data.txt");
}
我正在client(C#)
使用webclient
or发送文件HttpWebRequest
。我想知道如何接收从客户端发送的文件PHP(Server)
。我查了$_POST
,是空的。
客户端代码(c#):
using (WebClient client = new WebClient())
{
client.UploadFile("http://path/file.php","POST",@"Data.txt");
}
是的,$_POST
将为空,您应该检查$_FILES
上传文件的变量:这是快速片段:
<?php
$uploaddir = "uploads/";
$uploadfile = $uploaddir . basename( $_FILES['file']['name']);
if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile))
{
echo "The file has been uploaded successfully";
}
else
{
echo "There was an error uploading the file";
}
?>
上述脚本中 $_FILES 的内容如下。
$_FILES['file']['name']客户端计算机上文件的原始名称。
$_FILES['file']['type']文件的 mime 类型,如果浏览器提供了此信息。一个例子是“image/gif”。
$_FILES['file']['size']上传文件的大小,以字节为单位。
$_FILES['file']['tmp_name']服务器上存储上传文件的文件的临时文件名。
$_FILES['file']['error']自 PHP 4.2.0 起,PHP 会返回适当的以下错误代码以及文件数组
默认情况下,上传的文件将存储在服务器的默认临时目录中。变量$_FILES['file']['tmp_name']将保存有关其存储位置的信息。需要使用 move_uploaded_file 函数将上传的文件存储到正确的位置
您应该使用以下代码作为参考:
if(isset($_FILES['file']['name']) && !empty($_FILES['file']['name']))
{
$name=$_FILES['file']['name'];
$size=$_FILES['file']['size'];
$type=$_FILES['file']['type'];
$tmp_name=$_FILES['file']['tmp_name'];
$error=$_FILES['file']['error'];
$maxsize ="Your size limit";
$location='Your location to upload file';
// perform any security check here...
if($size <= $maxsize)
{
if(move_uploaded_file($tmp_name, $location.$name))
{
// perform your operation down here
}
}
}
注意: -此行文件中的 $_FILES['file']['name'] 代表表单文件字段的名称。