서버측 업로드 파일 처리 스크립트 upload.php가 다음과 같다고 가정합니다.
print_r($_POST)
print_r($_FILES)
1. CURL의 기본 방법을 사용하세요
//php 파일이 utf8로 인코딩되고 시스템이 GBK로 인코딩된 경우 인코딩을 변경해야 합니다. 그렇지 않으면 Php는 시스템에서 이 파일을 찾을 수 없습니다.
$file = realpath(mb_convert_encoding('테스트 그림.JPG','GBK','utf8'))
$file = realpath('temp.jpg'); //업로드할 파일
$fields['f'] =
'@'.$file // 이미지 업로드를 표시하려면 앞에 @ 기호를 추가하세요
$ch =curl_init()
컬_setopt($ch,CURLOPT_URL,'http://localhost/upload.php')
컬_setopt($ch,CURLOPT_POST,true)
컬_setopt($ch, CURLOPT_POSTFIELDS, $fields)
컬_setopt($ch,CURLOPT_RETURNTRANSFER,true)
$content = 컬_exec($ch)
에코 $ 내용
2. 대체 접근 방식, 때로는 동적으로 생성된 콘텐츠를 원격 서버에 파일로 업로드해야 하지만 로컬 서버에 임시 파일을 구축하고 싶지 않은 경우가 있습니다. 이런 식으로 우리는 글쓰기를 대체할 수 있는 방법을 갖게 되었습니다
$contents =<<< '텍스트'
다음은 파일 콘텐츠입니다. 바이너리 이미지일 수도 있습니다. 파일 형식을 업로드하려면 이미지를 수정해야 합니다.
텍스트
$varname = 'my';//$_FILES 배열에 업로드된 키
$name = '3.txt';//파일 이름
$type = 'text/plain';//파일 형식
$key = "$varname"; filename="$namernContent-유형: $typern"
$fields[$key] = $content
$ch =curl_init()
컬_setopt($ch,CURLOPT_URL,'http://localhost/upload.php')
컬_setopt($ch,CURLOPT_POST,true)
컬_setopt($ch, CURLOPT_POSTFIELDS, $fields)
컬_setopt($ch,CURLOPT_RETURNTRANSFER,true)
$content = 컬_exec($ch)
에코 $ 내용