>  기사  >  백엔드 개발  >  $_REQUEST 및 $_POST가 매개변수를 가져올 수 없는 이유는 무엇입니까?

$_REQUEST 및 $_POST가 매개변수를 가져올 수 없는 이유는 무엇입니까?

WBOY
WBOY원래의
2016-08-18 09:15:302029검색

모바일 단말기는 이미지를 16진수로 변환한 후 서버(php)에 게시하여 $_REQUEST['image']를 사용합니다.

var_dump( $_REQUEST['image'] )은 매우 큰 문자열로 출력될 수 있으나 !isset( $_REQUEST['image'], empty( $_REQUEST['image'] 모두 참으로 판단되어 file_put_content( $file_path, $_REQUEST['image']) 함수의 반환값은 0이다.

$_REQUEST['image']var_dump()
<ffd8ffe0 00104a46 49460001 01000048 00480000 ffe1004c 45786966 00004d4d 002a0000 00080002 01120003 00000001 00010000 87690004 00000001 00000026 00000000 0002a002 00040000 00010000 10c0a003 00040000 00010000 0b200000 0000ffed 00385068 6f746f73 686f7020 332e3000 3842494d 04040000 00000000 3842494d 04250000 00000010 d41d8cd9 8f00b204 e9800998 ecf8427e ffe20240 494343.........이렇습니다

답글 내용:

모바일 단말기는 이미지를 16진수로 변환한 후 서버(php)에 게시하는데 $_REQUEST['image']를 사용하여 이를 수락합니다.

var_dump( $_REQUEST['image'] )은 매우 큰 문자열로 출력될 수 있으나 !isset( $_REQUEST['image'], empty( $_REQUEST['image'] 모두 참으로 판단되어 file_put_content( $file_path, $_REQUEST['image']) 함수의 반환값은 0이다.

$_REQUEST['image']var_dump()
<ffd8ffe0 00104a46 49460001 01000048 00480000 ffe1004c 45786966 00004d4d 002a0000 00080002 01120003 00000001 00010000 87690004 00000001 00000026 00000000 0002a002 00040000 00010000 10c0a003 00040000 00010000 0b200000 0000ffed 00385068 6f746f73 686f7020 332e3000 3842494d 04040000 00000000 3842494d 04250000 00000010 d41d8cd9 8f00b204 e9800998 ecf8427e ffe20240 494343.........이렇습니다

모바일 단말기 base64에서 이미지 바이너리를 인코딩하고 POST하도록 합니다.
PHP 처리 코드

<code>$data = $_POST['image'];
$bin = base64_decode($data);
file_put_contents(__DIR__.'/a.jpg',$bin);</code>

$_FILES['이미지']를 사용해 보세요

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.