fopen, fread 및 fwrite 함수는 각각 파일 스트림을 열고 데이터 스트림을 읽고 해당 데이터를 파일에 쓰는 데 사용할 수 있습니다.
파일 리소스가 반드시 로컬 시스템 자체의 위치를 가리킬 필요는 없습니다.
다음은 로컬 서버에서 ftp 서버로 파일을 전송하는 예입니다 -
$file = "file_name.jpg"; $destination = fopen("ftp://username:[email protected]/" . $file, "wb"); $source = file_get_contents($file); fwrite($destination, $source, strlen($source)); fclose($destination);
이미지를 FTP 서버로 전송해야 합니다. 따라서 서버는 쓰기 모드로 열리고 이미지는 해당 위치에 기록되고 스트림은 닫힙니다.
curl 확장은 클라이언트 URL 라이브러리(libcurl)를 사용하여 한 위치에서 다른 위치로 파일을 전송합니다. curl 솔루션을 구현하는 논리는 다음 논리를 따릅니다. -
- 먼저 세션을 초기화하십시오.
- 원하는 전송 옵션을 설정할 수 있습니다.
- 전송이 가능합니다.
- 세션을 닫을 수 있습니다.
curl 세션은 'curl_init' 함수를 사용하여 초기화할 수 있습니다. 다른 curl 함수와 함께 사용할 수 있는 리소스를 반환합니다.
파일을 업로드할 대상 및 전송 세션과 관련된 기타 요소는 'curl_setopt'를 사용하여 설정할 수 있습니다.
이것은 설정과 선택적 값을 나타내는 미리 정의된 상수인 curl 리소스를 사용합니다.
다음은 동일한 것을 보여주는 예입니다 -
$session_begin = curl_init(); curl_setopt($session_begin, CURLOPT_POST, true); curl_setopt($session_begin, CURLOPT_POSTFIELDS, array('file' => 'path/to/file.txt')); curl_setopt($session_begin, CURLOPT_URL, 'https://server2/upload.php'); curl_exec($session_begin); curl_close($session_begin);
두 번째 서버는 일반 파일 업로드로 처리할 수 있습니다.