2

これは、ユーザーのロゴをアップロードするコードです。誰か助けてくれるかどうか疑問に思っていました。ユーザーが .png および .gif ファイルもアップロードできるようにしたいと考えています。

これが単純な修正である場合は申し訳ありませんが、私はphpに非常に慣れていません。

<?
//edit logo

function resize_image ($image) {
    $imgsize = getimagesize($image);
    //check for gallery type to determine thumbnail size

    $size_x = 150;      
    $ratio = 150 / $imgsize[0];
    $size_y = $imgsize[1] * $ratio;


    $srcimage         = ImageCreateFromjpeg ($image);
    $newimage         = ImageCreateTrueColor($size_x,$size_y);  
    //$newimage        = imagecreate ($size_x, $size_y);
    imagecopyresized ($newimage, $srcimage, 0, 0, 0, 0, $size_x, $size_y,
    imagesx($srcimage), imagesy($srcimage));
    return $newimage;
}

$myrepairer = new repairer;


//resize and upload image

$file =  $_FILES['logo']['tmp_name'];
$file_name =  $_FILES['logo']['name'];

//upload the image followed by a db update.
if ($file != 'none') {
if (copy($file,'logos/'.$_REQUEST['id'].'.jpg')) {
    unlink($file);
}
$myrepairer->updatelogo($_REQUEST['id'],$_REQUEST['id']);   
$thumbnail = resize_image('logos/'.$_REQUEST['id'].'.jpg');
unlink('logos/'.$_REQUEST['id'].'.jpg');
ImageJPEG($thumbnail,'logos/'.$_REQUEST['id'].'.jpg');
}

$resultmessage = '<div align="center" class="GreenText">Logo Updated</div>';
4

1 に答える 1

1

ファイル拡張子を取得して、「。jpg」の代わりに使用できます。

$ext = pathinfo($_FILES['logo']['name'], PATHINFO_EXTENSION);

したがって、次のようになります。

$ext = pathinfo($_FILES['logo']['name'], PATHINFO_EXTENSION);

//upload the image followed by a db update.
if ($file != 'none') {
if (copy($file,'logos/'.$_REQUEST['id'].'.'.$ext)) {
    unlink($file);
}
$myrepairer->updatelogo($_REQUEST['id'],$_REQUEST['id']);   
$thumbnail = resize_image('logos/'.$_REQUEST['id'].'.'.$ext);
unlink('logos/'.$_REQUEST['id'].'.'.$ext);
ImageJPEG($thumbnail,'logos/'.$_REQUEST['id'].'.'.$ext);
于 2013-02-25T17:12:59.367 に答える