답변 3개
RYANRYAN
1년 전
Copy
<?php
// 파일 업로드를 위한 URL
$url = 'https://example.com/upload.php';
// 업로드할 파일의 경로
$filename = 'test.txt';
// curl 세션 초기화
$ch = curl_init();
// 헤더 설정
$headers = array(
'Content-Type: multipart/form-data'
);
// 옵션 설정
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => array(
'file' => curl_file_create($filename)
),
CURLOPT_HTTPHEADER => $headers
));
// 요청 실행
$result = curl_exec($ch);
// 오류 처리
if (curl_errno($ch)) {
echo 'Error: ' .
curl_error($ch);
} else {
// 업로드 성공 시 응답 처리
echo $result;
}
// curl 세션 종료
curl_close($ch);
시도해보세요
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
1년 전
api 도 외부에서 제공하는것일텐데 아마 답변대로 처리가 어려울것 같습니다.
근본적인 해결방법이 아니고 api 업체에서도 굳이 우회처리된 파일을 만들어주긴 힘드니까요..
이번 기회에 php7 이상으로 업데이트를 하시는게 좋을것 같습니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
1년 전
php버전을 사실 올리시는게 맞습니다만..
Copy
<?php
// 업로드할 파일 경로
$file_path = '/path/to/your/file.txt';
// 업로드하려는 파일이 존재하는지 확인
if (!file_exists($file_path)) {
die("File does not exist: $file_path");
}
// CURL 초기화
$ch = curl_init();
// API URL 설정
$url = "https://example.com/upload"; // 파일을 업로드할 API의 URL
curl_setopt($ch, CURLOPT_URL, $url);
// POST 요청 설정
curl_setopt($ch, CURLOPT_POST, true);
// 파일 데이터 설정 (PHP 5.4에서 @를 사용)
$post_fields = [
'file' => '@' . $file_path, // 파일 경로에 '@'를 추가
'other_field' => 'example_value' // 추가 필드가 있을 경우 함께 전송
];
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
// CURL 옵션 설정
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 요청 실행
$response = curl_exec($ch);
// CURL 에러 체크
if (curl_errno($ch)) {
echo 'CURL Error: ' . curl_error($ch);
} else {
echo 'Response: ' . $response;
}
// CURL 종료
curl_close($ch);
?>
php.ini에서allow_url_fopen과allow_url_include가 활성화되어 있어야 합니다.file_uploads설정도On으로 설정되어야 합니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인