2017-03-10 14 views
1

これは、サーバーに外部イメージを保存するコードです。それは動作します。イメージをフォルダに保存する方法は?

$imgfromurl = file_get_contents('http://www.lavanguardia.com/r/GODO/LV/p4/WebSite/2017/03/07/Recortada/img_lbernaus_20170307-110204_im[email protected]LaVanguardia-Web.jpg'); 

$im = imagecreatefromstring($imgfromurl); 

$width = imagesx($im); 

$height = imagesy($im); 

$newwidth = $width/2; 

$newheight = $height /2; 

$thumb = imagecreatetruecolor($newwidth, $newheight); 

imagecopyresized($thumb, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); 

$newsimgpath = uniqid().'.jpg'; 
$imgjpeg = imagejpeg($thumb, $newsimgpath); //save image as jpg 

imagedestroy($thumb); 

imagedestroy($im); 

ただし、画像をフォルダに保存したい場合は、もう動作しません。それが持っている(

imagejpeg($thumb, realpath(dirname(__FILE__)).'/imgnews/'.$newsimgpath); 

が、画像をそのフォルダに保存されていません。

$imgjpeg = imagejpeg($thumb, $newsimgpath); 

この

imagejpeg($thumb, '/imgnews/'.$newsimgpath); 

またはこれに:

私は、この変更するしようと試みてきましたパーミッション777)。

なぜですか?

EDIT:

のerror_log:

[10-Mar-2017 08:52:32 America/New_York] PHP Warning: imagejpeg(/home/xxx/public_html/imgnews/58c2afa0c2c4b.jpg): failed to open stream: No such file or directory in /home/xxx/public_html/ad.php on line 14 
+0

何をnewsimgするために、あなたのコード変更imgnewsで

  • imgnewsディレクトリを作成しますか? – arkascha

  • +0

    エラーログはありますか?間違ったフォルダに保存されている場合に備えて、ファイルシステムから画像ファイルを検索しようとしましたか? – Linuslabo

    +0

    'to this 'は'/'を起動しても動作しません。'/imgnews'はあなたのシステムのルートフォルダです。その後、 'realpath()'コールは必要ありません。あなたはより良いデバッグのために作成されたファイル名を出力する必要があります – JustOnUnderMillions

    答えて

    2

    エラーに見られるように - あなたはそのディレクトリを持っていません。

    あなたの画像に見られるように - http://i.imgur.com/MoKGyF6.pngあなたはnewsimgディレクトリがあります。

    あなたは2つのオプションがあります:

    • は、あなたのhttpサーバのエラーログファイルに見てみるについて
    +0

    haha​​ha、wtf。ありがとう:) – xRobot

    関連する問題