2014-02-21 2 views
0

원격 이미지 파일을 복사하려고하는데 이미지 파일의 크기를 줄이고 서버에 업로드하지만 이미지 파일이 생성되었지만 작동하지 않습니다. 이미지가 그대로 표시 될 수 없다는 오류가 발생합니다. 오류가 있습니다.원격 URL의 file_get_contens이 작동하지 않습니다.

내 코드는 다음과

<?php 

$url = 'http://www.indiancinemagallery.com/gallery/vaani-kapoor/Vaani-Kapoor-at-Radio-Mirchi-Stills-(9)9678.jpg'; 
$img = '/home/xxxxxxx/public_html/xyyyyyy/test.jpg'; 
$im = imagecreatefromjpeg($url); 
$fimg=imagejpeg($im, NULL, 60); 

file_put_contents($img, file_get_contents($fimg)); 

?> 
+0

정확히 무엇이 오류입니까? 사본을 그대로 복사하십시오. –

+0

이미지 뷰어에서 열 수 있습니까? –

+0

@ HüseyinBABAL 아니요 파일에 오류가있어 오류가 발생하므로 표시 할 수 없습니다. – Priya

답변

1

하지 않는, 잘못된;

<?php 

$url = 'http://www.indiancinemagallery.com/gallery/vaani-kapoor/Vaani-Kapoor-at-Radio-Mirchi-Stills-(9)9678.jpg'; 
$img = '/home/xxxxxxx/public_html/xyyyyyy/test.jpg'; 
file_put_contents($img, file_get_contents($url)); 
$im = imagecreatefromjpeg($img); 
$fimg=imagejpeg($im, NULL, 60); 


?> 
+0

원격 URL에서 이미지를 복사하는 경우 해당 이미지가 실제로로드되고 원격 또는 복사 서버의 대역폭이 계산되지 않습니까? – Priya

+0

대역폭이 서버 또는 원격 서버에 있습니까? –

+0

에서 서버를 계산하거나 두 서버 모두에서 계산합니다. 나는 그것이 서버에 서버가 일어나고있는 것으로 간주해서는 안된다고 생각한다. – Priya

0

file_get_contents는 매개 변수로 문자열을 가지고 있습니다. imagejpeg 이미지를 브라우저 또는 파일로 출력하고 부울을 반환합니다.

$url = 'http://www.indiancinemagallery.com/gallery/vaani-kapoor/Vaani-Kapoor-at-Radio-Mirchi-Stills-(9)9678.jpg'; 
$img = '/home/xxxxxxx/public_html/xyyyyyy/test.jpg'; 
file_put_contents($img, file_get_contents($url)); 
+0

그냥 서버에 이미지를 넣고 싶지 않아요 난 크기를 줄이려고합니다 – Priya

+0

@ 프리 야 무사의 대답을 참조하십시오. –

+0

@Priya 서버로 이미지를 다운로드 한 후에 이미지 작업을 수행해야합니다. – xdazz

1

왜 이미지를 두 번 저장하려고합니까?
첫 번째 시도는

imagejpeg($im, $img, 60); 

해야하며, 당신은 파일과 같은 파일에서 읽고, 내용을 얻어서 파일에서 읽기를 쓸 필요가 file_put_contents

+0

실제로 @xdazz 응답은 메모리 내부에 이미지가 생성되지 않으므로 성능이 현저히 우수합니다. 그러나 이미지는 1 : 1로 저장되고 품질은 변하지 않습니다. imagejpeg을 사용하면이를 허용합니다. 두 가지 솔루션 모두 잘 작동하며 필요에 따라 이온을 선택합니다. –

관련 문제