2012-01-18 3 views
3

다음 코드를 사용하여 이미지를 전송하는 중입니다. 전송 후에 jpg가 손상되는 것을 제외하고는 작동 중입니다. Is는 잘못된 이미지 형식이며 흐린 이미지를 표시합니다.PHP 컬링 전송 후 이미지가 손상됨 FTP

일반 PHP를 사용하여 말리지 않고 동일한 결과를 얻으려고했습니다.

사람이 내가 일을하려고 어떤 이유를 알고 있지만 image.jpg를이 손상 않습니다

$curl = curl_init(); 
$fh = fopen("test.jpg", 'w'); 
curl_setopt($curl, CURLOPT_URL, "ftp://{$serverInfo['user']}: {$servererInfo['password']}@{$serverInfo['ftp1.server.com']}/{$serverInfo['For_Web/Web Images/Full Size/00-99/file']}"); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($curl); 
fwrite($fh, $result); 
fclose($fh); 
curl_close($curl);` 
+0

시도'$ 결과 = file_get_contents ("FTP : // {$ serverInfo [ '사용자']} : {$ servererInfo [ '암호']} @ {$ serverInfo [ 'ftp1.server.com'] – CSharpRU

+0

은'curl_setopt()'에'CURLOPT_BINARYTRANSFER'를 추가 할 수도 있습니다 – dnagirl

답변

3

몇 가지 문제가있다;

바이너리 모드로 쓰기 위해 파일을 열어야합니다. 부울 (성공)을 반환 curl_exec

$fh = fopen("test.jpg", 'wb'); 

는, 파일의 내용은 파일 대신 CURLOPT_FILE에 전달해야하지.

CURLOPT_USERPWD를 사용하여 사용자 이름/비밀번호를 설정해야합니다. 단, URL 방식을 사용할 수 있는지는 확실하지 않습니다.

CURLOPT_BINARYTRANSFER를 설정해야합니다.

작업 샘플;

$curl = curl_init(); 
$fh = fopen("fips.exe", 'wb'); 
curl_setopt($curl, CURLOPT_URL, 'ftp://ftp.sunet.se/pub/FreeBSD/tools/fips.exe'); 
curl_setopt($curl, CURLOPT_BINARYTRANSFER, 1); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl, CURLOPT_FILE, $fh); 
curl_setopt($curl, CURLOPT_USERPWD, 'anonymous:olle'); 
$result = curl_exec($curl); 
fclose($fh); 
curl_close($curl); 
+0

바이너리 모드를 사용해 보았지만 여전히 같은 문제. 여기 내 코드는 – user1156446

+0

$ curl = curl_init(); $ fh = fopen ("test.jpg", 'wb'); curl_setopt ($ curl, CURLOPT_URL, "ftp : // {$ serverInfo [ 'wps']} : {$ serverInfo [ 'ftps1.wpsstatic.com']}/{ $ serverInfo [ 'For_Web/Web Images/Full Size/00-99/73-3624.jpg']} ""); curl_setopt ($ curl, CURLOPT_BINARYTRANSFER, 1); $ 결과 = curl_exec ($ curl); fwrite ($ fh, $ result); fclose ($ fh); curl_close ($ curl); – user1156446

+0

답변에 실습 예제를 추가했습니다. –

관련 문제