2016-09-15 20 views
0

アップロードしたイメージの幅を750と高さ:930ピクセルに変更します。ここで はPHPです:今ファイルのアップロード中にサイズ変更されたイメージを移動する方法

$target_dir = "upload/"; 
$target_file = $target_dir . basename($_FILES["cert"]["name"]); 
if (strtolower($imageFileType) == 'jpg'){ 
    $check = getimagesize($_FILES["cert"]["tmp_name"]); 
    $wd = $check[0]; 
    $ht = $check[1]; 
    $wd_n = 750; 
    $ht_n = 930; 
    $src = imagecreatefromjpeg($_FILES["cert"]["tmp_name"]); 
    $dst = imagecreatetruecolor($wd_n, $ht_n); 
    imagesavealpha($src, true); 
    imagecopyresampled($dst, $src, 0, 0, 0, 0, $wd_n, $ht_n, $wd, $ht); 
} 

、私は、アップロードフォルダにこのファイルを移動したいです。サイズを変更しないと、私はこうすることができます:

move_uploaded_file($_FILES["cert"]["tmp_name"], $target_file); 

アップロードされたファイルを新しいフォルダにアップロードするにはどうすればよいですか?

+0

新しいサイズ変更ファイルをお持ちの場合は、これをあなたのvarに保存して移動しないでください。これのための関数は 'rename'です。 –

+0

Patrick、どうすればいいですか? – sridhar

答えて

0

あなたがケースにある画像リソースでなければなりませんimagejpeg機能

$path = <Path to directory + filename> 
imagejpeg($dst, $path); 

$のDSTを使用することができます。

0

あなたはこのようにそれを試してみる気になりますあなたの$dst

<?php 
    $target_dir  = "upload/"; 
    $target_file = $target_dir . basename($_FILES["cert"]["name"]); 

    if (strtolower($imageFileType) == 'jpg'){ 
     $check = getimagesize($_FILES["cert"]["tmp_name"]); 

     // SAVE THE ORIGINAL, UPLOADED IMAGE TO DISK 
     move_uploaded_file($_FILES["cert"]["tmp_name"], $target_file); 

     $wd  = $check[0]; 
     $ht  = $check[1]; 
     $wd_n = 750; 
     $ht_n = 930; 

     // GET THAT ORIGINAL IMAGE & PROCESS IT 
     $src = imagecreatefromjpeg($target_file); 
     $dst = imagecreatetruecolor($wd_n, $ht_n); 

     imagesavealpha($src, true); 
     imagecopyresampled($dst, $src, 0, 0, 0, 0, $wd_n, $ht_n, $wd, $ht); 

     // NOW; OVERRIDE THE ORIGINAL AND SAVE THE RESIZED VERSION... 
     imagejpeg($dst, $target_file, 100); 

     // OR SAVE IT TO A NEW LOCATION... 
     $newLocation = str_replace("upload/", "upload/resized/", $target_file); 
     imagejpeg($dst, $newLocation, 100); 
    } 
+0

この行 - > imagecopyresampled($ dst、$ src、0、0、0、0、$ wd_n、$ ht_n、$ wd、$ ht)以外の場合。ブラック画像のみが生成される。 – sridhar

0

、あなたはimagejpegでそれを行うことができます。

imagejpeg($dst, "newPath/image.png"); 

乾杯。

関連する問題