0

简单的理论问题:

要使用 Php 将文件上传到服务器,我选择了这种机制(如果可能):

读取文件的字节,将其作为简单文本放入字符串中,然后将其作为简单文本消息($_REQUEST)发布到服务器,然后将此“文本”写入服务器上的新文件,

所以我的问题是:

我如何读取文件的字节并将其作为简单文本“原样”存储在 String/StringBuilder 中?

4

1 回答 1

2

你可以使用file_get_contents它的二进制安全。

$binaryContent = file_get_contents('path/to/file');

如果您在发送内容时遇到问题而不是对其进行编码:

$binaryContent = base64_encode($binaryContent);

但我会使用 curl 上传文件:

来自 php.net http://www.php.net/manual/de/function.curl-setopt.php

/* http://localhost/upload.php:
print_r($_POST);
print_r($_FILES);
*/

$ch = curl_init();

$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');

curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
于 2013-03-12T13:23:17.083 回答