所以我得到了这些代码。
<?php
$uploaddir = "upload/";
if(is_uploaded_file($_FILES['file']['tmp_name'])) {
$name = rand(1,1000000000000);
$uploadfile = $uploaddir . basename($name . ".png");
if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
echo $name . ".png";
}
else {
print_r($_FILES);
}
}
else {
echo "Upload Failed!!!";
print_r($_FILES);
}
?>
这是我 VB.NET 代码。
Dim Client As System.Net.WebClient = New System.Net.WebClient
Client.Headers.Add("Content-Type", "binary/octet-stream")
Dim result() As Byte = Client.UploadFile("/uploading/upload.php", "POST", filename)
Dim s As String = System.Text.Encoding.UTF8.GetString(result, 0, result.Length)
它工作正常,唯一的问题是我得到的结果总是在每个文件前面添加它。(它只是像那样回声,它确实可以正确上传到我的服务器上)例如/uploads/561708579306.png 虽然它必须是/uploads/561708579306.png所以上传是正确的,它给出了正确的名称,即/uploads/561708579306.png,但回声似乎正在返回/uploads/561708579306.png
有人知道吗?
真诚地,乔迪
是的,这是一个 BOM 问题。
我想到两种方法。
保存上传.php(以及所有其他包含的 PHP),无需 BOM
我知道如何保存的唯一方法是使用记事本++保存它,然后从编码选项卡中选择"以UTF-8编码而不带BOM"。
在回显之前删除任何其他输出
哪个似乎比另一个解决方案更好。在每次回显之前添加ob_clean();
以清理上行的数据。
希望对您有所帮助。