0

簡単な理論的質問:

PHPを使用してサーバーにファイルをアップロードするには、このメカニズムを選択しました(可能な場合):

File のバイトを読み取り、Simple Text として文字列に入れ、Simple Text Message($_REQUEST) としてサーバーに投稿し、次に、この「テキスト」をサーバー上の新しいファイルに書き込みます。

だから私の質問は:

ファイルのバイトを読み取り、文字列/文字列ビルダーに「そのまま」単純なテキストとして保存するにはどうすればよいですか?

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 に答える