0

異なる名前の 2 つの同じ画像があるとします。これらの画像をアップロードして、別のフォルダーに入れたいです。img1.jpg と a-img1.jpg が画像であるとします。これで、img1.jpg は「files/images/」の場所に移動し、a-img1.jpg は「files/a-images/」の場所に移動します。画像のアップロードに成功しましたが、1 つの宛先フォルダーにしか移動しません。これは私のコードです、

    $upload_errors = 0;
    $images= $_FILES['img'];
    $img_id = get_new_image_id();
    $image_ok = true;
    $queries = array();
    $allowed_exts    = array('jpg', 'png', 'jpeg', 'gif');
    foreach ($images['tmp_name'] as $key => $val ) {
        $fileName = $images['name'][$key];
        $fileSize = $images['size'][$key];
        $fileSize = round($fileSize/1024);
        $fileTemp = $images['tmp_name'][$key];
        $path_parts = pathinfo($fileName);
        $fileExt = $path_parts['extension'];
        $fileExt = strtolower($fileExt);
        if($fileSize > 2*1024){
            $image_ok = false;
        }
        if(!in_array($fileExt, $allowed_exts)){
            $image_ok = false;
        }
        if($image_ok){
            $upload_link = "files/images/".$img_id.".".$fileExt;
    $tupload_link = "files/a-images/".$img_id.".".$fileExt;

        move_uploaded_file($fileTemp, $upload_link);
        move_uploaded_file($fileTemp, $tupload_link);
        $img_id++;
        }else{
            $upload_errors++;
        }

「a-img1.jpg」のような画像ファイルを識別する方法はありますか? 私はこの助けがひどく必要です。事前にTnx!

4

2 に答える 2

0

この関数を使用して、文字列が「a-」で始まるかどうかを確認できます。

function startsWith($haystack, $needle){
    return strpos($haystack, $needle) === 0;
}

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

if(startsWith($img_id, "a-")){
    $upload_link = "files/a-images/".$img_id.".".$fileExt;
}else{
    $upload_link = "files/images/".$img_id.".".$fileExt;
}

move_uploaded_file($fileTemp, $upload_link);
于 2013-08-16T14:02:22.080 に答える