0

画像をアップロードするスクリプトを PHP で作成しました。

要するに、私の目標は、2 つの画像をアップロードしてサーバーに送信することです。1 つは元の画像で、もう 1 つはサムネイルです。私のスクリプトは機能しますが、完璧ではありません。これは私のスクリプトです

<?php

     //this is script for get  data type file

      $acak        = rand(000000,999999);// for random
      $lokasi_file = $_FILES['fupload']['tmp_name'];
      $nama_file   = $_FILES['fupload']['name'];

      $nama_file_acak = $acak.$nama_file;


      $ukuran_file = $_FILES['fupload']['size'];
      $tipe_file   = $_FILES['fupload']['type'];
      $direktori   = "fkendaraan/$nama_file_acak";

       $uplod = move_uploaded_file($lokasi_file,"$direktori"); //to move image from local to the server folder

     //to handle uplod thumbnail image
      $img = imagecreatefromjpeg($direktori);

      $width = imagesx($img);
      $height = imagesy($img);

      $new_width = 200;

      $new_height = ($new_width/$width) * $height;

      $tmp_img = imagecreatetruecolor( $width, $height );

      imagecopyresampled( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );

      //imagecopyresized( $tmp_img, $img, 200, 200, 0, 0, $new_width, $new_height, $width, $height );

      imagejpeg( $tmp_img, $direktori."thumb-".$nama_file_acak );

      imagedestroy($tmp_img);
      imagedestroy($direktori);

//------------------------------------------------ ---------------

//I have no Problem with query and database, it works fine
$sql = "";
$query = mysql_query($sql);


?>

これは実行できますが、このような結果になるため完全ではありません ここに画像の説明を入力

ここに画像の説明を入力

これを修正するのを手伝ってくれる人はいますか?私はphpで非常に初心者です

4

1 に答える 1

5

これを変更してみてください:

$tmp_img = imagecreatetruecolor( $width, $height );

これに:

$tmp_img = imagecreatetruecolor( $new_width, $new_height );

とにかく、次のようないくつかのクラスをこれらのタスクに使用することをお勧めします: Shiege Iseng Resize Class

もちろん、これで学習しようとしているのであれば、それで問題ありません:)

于 2013-05-31T09:29:28.477 に答える