返信する

返信する: 雑談

url  email  imgsrc  image  code  quote
サンプル
bold  italic  underline  linethrough    


ニッ にっこり シュン エッ!? ん? フフッ げらげら むぅ べー  [もっと...]

オプション

参照

Re: myalbumで複数画像の改造方法
投稿者: ノーザラント 投稿日時: 2013/1/24 23:32
では、続きです。

submit.phpの183行目くらいに
myalbum_modify_photo( "$photos_dir/$tmp_name" , "$photos_dir/$newid.$ext" ) ;
とあるのですが、この関数で画像をアップしているらしい事を突き止めました。
そこで、同じくこの関数で、サブ画像もアップしてしまおうという魂胆です。

実験として、すぐ下に
$field = @$_POST['xoops_upload_file'][1] ;
if( @$_FILES[$field]['name'] != '' ) {
    // Sub photo is exist
    $tmp_name = $_FILES[$field]['name'] ;
    $uploader->fetchMedia( $field ) ;
    $uploader->upload() ;
    $tmp_name = $uploader->getSavedFileName() ;
    myalbum_modify_photo( "$photos_dir/$tmp_name" , "$photos_dir/$newid-1.$ext" ) ;
    myalbum_create_thumb( "$photos_dir/$newid-1.$ext" , "$newid-1" , $ext ) ;
}
を挿入します。
このコードはどこからかコピーして来たのか、自分で本を片手に書きあげたのか…覚えていないのです。

とにかく、これで、サブ画像1がアップロードされます。
FTPで確認してみて下さい。
ファイル名は、メイン画像が
ID番号.拡張子
なのに対し、
ID番号-1.拡張子
となります。
myalbum_create_thumb関数で、サムネイルも作っちゃっています。

これを、サブ画像分だけマルチステートメントで書きました。
もちろん、1を2,3,4と変更しながらです。

でも、マルチステートメントなんて、冗長になるだけなので、ループ処理します。

for ($i=1;$i<10;$i++){
    $field = @$_POST['xoops_upload_file'][$i] ;
    if( @$_FILES[$field]['name'] != '' ) {
        // Sub photo is exist
        $tmp_name = $_FILES[$field]['name'] ;
        $uploader->fetchMedia( $field ) ;
        $uploader->upload() ;
        $tmp_name = $uploader->getSavedFileName() ;
        myalbum_modify_photo( "$photos_dir/$tmp_name" , "$photos_dir/$newid-$i.$ext" ) ;
        myalbum_create_thumb( "$photos_dir/$newid-$i.$ext" , "$newid-$i" , $ext ) ;
    }
}
これで、サブ1~サブ9までアップするみたいです。
表示部分(photo.php)は、後ほど調べてみますね。