简单的理论问题:
要使用 Php 将文件上传到服务器,我选择了这种机制(如果可能):
读取文件的字节,将其作为简单文本放入字符串中,然后将其作为简单文本消息($_REQUEST)发布到服务器,然后将此“文本”写入服务器上的新文件,
所以我的问题是:
我如何读取文件的字节并将其作为简单文本“原样”存储在 String/StringBuilder 中?
你可以使用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);