Heim >Backend-Entwicklung >PHP-Tutorial >php接收post文件问题

php接收post文件问题

WBOY
WBOYOriginal
2016-06-23 14:14:001281Durchsuche

vc客户端使用http post abc.txt文件给php server端,server端收到的abc.txt文件是空的,是不是php://input问题呢,请高手指教。谢谢!

vc客户端:
Content-Disposition: form-data; name="upload"; filename="abc.txt"
Content-Type: text/plain


php server端:
$input = file_get_contents('php://input');
file_put_contents('abc.txt',$input);
?>


回复讨论(解决方案)

要用$_FILE接收参数。

上传文件是使用 enctype="multipart/form-data"
而 php://input 不接受这种数据,而是原始post数据(raw)

在手册上看到了,
php://input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 $HTTP_RAW_POST_DATA,因为它不依赖于特定的 php.ini 指令。 而且,这样的情况下 $HTTP_RAW_POST_DATA 默认没有填充, 比激活 always_populate_raw_post_data 潜在需要更少的内存。 enctype="multipart/form-data" 的时候 php://input 是无效的。 

查了手册, enctype="multipart/form-data" 的时候 php://input 是无效的,使用$_FILES搞定。谢谢各位啦

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:phpmyadmin访问拒绝Nächster Artikel:iis 301重定向 eurl.axd