-5

私はサムネイルを生成するこのコードを持っています.nw.必要なのは2つを生成することです...機能を2倍にするだけです.これに基づいてどのようにそれを行うことができるか教えてください?

ありがとう..

function tamano_nuevo_foto($im_or, $ancho_nv, $dir_nv) {
    $img   = imagecreatefromjpeg($im_or);
    $datos = getimagesize($im_or);
    $ancho = $datos[0];
    $alto  = $datos[1];

    if ($ancho > $ancho_nv) { //Si la imagen no lelga al máximo no la tocamos.
        $prop    = $alto / $ancho;
        $alto_nv = round($ancho_nv * $prop);
    } else {
        $ancho_nv = $ancho;
        $alto_nv  = $alto;
    }
    $im_nv    = imagecreatetruecolor($ancho_nv, $alto_nv);
    imagecopyresampled($im_nv, $img, 0, 0, 0, 0, $ancho_nv, $alto_nv, $ancho, $alto);
    imagejpeg($im_nv, $dir_nv);
    imagedestroy($im_nv);
}

if (!empty($_FILES)) {
    $tempFile   = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
    $targetPath = str_replace('//', '/', $targetPath);
    $targetFile = $targetPath . basename($_FILES['Filedata']['name'], '.' . $ext) . '_s.';
    tamano_nuevo_foto($tempFile, 120, $targetFile);
    echo str_replace($_SERVER['DOCUMENT_ROOT'], '', $targetFile);
}
4

2 に答える 2

1

以下の例のように関数を 2 回呼び出すことはできますか?

if (!empty($_FILES)) {
    $tempFile   = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
    $targetPath = str_replace('//', '/', $targetPath);
    $targetFile = $targetPath . basename($_FILES['Filedata']['name'], '.' . $ext) . '_s.';
    $newTargetFile = // define whatever you want to call your second copy of thumbnail here
    tamano_nuevo_foto($tempFile, 120, $targetFile);
    tamano_nuevo_foto($tempFile, 120, $newTargetFile);
    echo str_replace($_SERVER['DOCUMENT_ROOT'], '', $targetFile);
}
于 2012-08-21T21:00:50.157 に答える
0

関数を2回呼び出すか、ファイルをコピーするだけですcopy()

于 2012-08-21T20:59:39.023 に答える