2016-08-12 1 views
0

Hallo ich den Code unten bin mit Bild von URL zum Download, aber es funktioniert nicht, wenn ich diesen Code verwendenBild speichert von URL zu lokalem System in php

<?php 
$imageUrl = 'https://cwsimages.ingramtest.com/cdsImages/imageloader?id=pBbFysOWRLJoSy4l4lbc+yLblU6JMuhKpze3XsQNO+njA3/XYRYbXSEYYsSqKXoiGD07duAyOSVXNUVLvxDqlMx15WtRQWJn3xC/twmM2s62tw+XgriCmEXBHawun03pQLBHXLuEQhNmCb8MC3ZMNH7pe5O76s18u/mgplf8YtU='; 
@$rawImage = file_get_contents($imageUrl); 
if($rawImage) 
{ 
file_put_contents("images/".'dummy1.png',$rawImage); 
echo 'Image Saved'; 
} 
else 
{ 
echo 'Error Occured'; 
} 
?> 

, aber wenn ich den $ imageUrl mit diesem geändert

$imageUrl = 'http://www.samsung.com/in/common/img/home/S2_pc.png'; 

es funktioniert, bitte vorschlagen, was in erster uRL falsch oder können wir von https-uRL

+0

Werfen Sie einen Blick auf http://stackoverflow.com/questions/1975461/how-to-get-file-get-contents-work-with-https – mishanon

+0

ich denke, in der obigen URL $ image_url Sie Druck das Bild mit Bild-Tag, aber nicht das ganze Bild. alles, was Sie tun müssen, ist das Bild in Bezug auf Ihre Abfrage in der URL zu finden und den Link auf die Bild-URL umleiten, dann können Sie das Zeilenbild erhalten. –

+0

@dhaval Purohit Danke für den Vorschlag! aber ich drucke nicht mit Image-Tag. Wenn Sie die Bild-URL direkt kopieren und einfügen, wird das Bild angezeigt und ich muss das Bild im lokalen System herunterladen. –

Antwort

1

Das Problem ist, dass die "Bilder", die Sie in den file_put_contents verwenden, nicht den Pfad zum Speicherort der Datei erhalten. versuche, den Bilderordner zusammen mit der php-Datei zu erstellen, die diesen Code hat und sehen, wie er funktioniert.

<?php 
$imageUrl = 'https://cwsimages.ingramtest.com/cdsImages/imageloader?id=pBbFysOWRLJoSy4l4lbc+yLblU6JMuhKpze3XsQNO+njA3/XYRYbXSEYYsSqKXoiGD07duAyOSVXNUVLvxDqlMx15WtRQWJn3xC/twmM2s62tw+XgriCmEXBHawun03pQLBHXLuEQhNmCb8MC3ZMNH7pe5O76s18u/mgplf8YtU='; 
@$rawImage = file_get_contents($imageUrl); 
if($rawImage) 
{ 
file_put_contents("images/".'dummy1.png',$rawImage); 
echo 'Image Saved'; 
} 
else 
{ 
echo 'Error Occured'; 
} 
?> 
+0

Ich habe bereits Bilder Ordner im selben Pfad erstellt, wo ich PHP-Datei habe. wenn ich diese URL 'code' verwende $ imageUrl = 'http://www.samsung.com/in/common/img/home/S2_pc.png'; es funktioniert dann aber, wenn ich verwendet 'code' $ imageUrl =‚https://cwsimages.ingramtest.com/cdsImages/imageloader?id=pBbFysOWRLJoSy4l4lbc+yLblU6JMuhKpze3XsQNO+njA3/XYRYbXSEYYsSqKXoiGD07duAyOSVXNUVLvxDqlMx15WtRQWJn3xC/twmM2s62tw+XgriCmEXBHawun03pQLBHXLuEQhNmCb8MC3ZMNH7pe5O76s18u/mgplf8YtU=‘; dann funktioniert es nicht –

+0

es funktioniert in meinem localhost @ManojGupta der gleiche Code von Ihnen wenn Sie das Linux-System verwenden, dann müssen Sie zuerst die Schreibberechtigung im Bilderordner festlegen, sonst arbeitet es mit den Fenstern. –

+0

Ich benutze Fenster 10 System. kann es eine Art von Authentifizierung Problem sein, da es den gleichen Code in Ihrem System und nicht in meinem –

0

versuchen nicht speichern Bild copy

$imageUrl = 'http://www.samsung.com/in/common/img/home/S2_pc.png'; 
if (!file_exists('folder_name')) 
{ 
    mkdir('folder_name', 0777, true); 
} 
$img_path="folder_name/S2_pc.png"; 
copy($imageUrl , $img_path); 
echo $img_path; 
+0

Ich habe versucht, Kopierfunktion zu verwenden, aber es ist Shwoing Fehler: 'Code' Warnung: kopieren (https://cws.imagesramtest.com/cdsImages/imageloader?id=pBbFysOWRLJoSy4l4lbc+ yLblU6JMuhKpze3XsQNO + njA3/XYRYbXSEYYsSqKXoiGD07duAyOSVXNUVLvxDqlMx15WtRQWJn3xC/twmM2s62tw + XgriCmEXBHawun03pQLBHXLuEQhNmCb8MC3ZMNH7pe5O76s18u/mgplf8YtU =) [function.copy]: failed to open stream: No such file or directory –

+0

@Manoj Gupta: Ihre Ordnernamen mit "folder_name" ändern. Ersetzen Sie Bilder an Stelle von Ordnername. – Dave

+0

@Manoj Gupta: Ich habe meine Antwort bearbeitet, probiere diese – Dave