0

假设有 2 个不同名称的相同图像。我想上传这些图片并将它们放在不同的文件夹中。假设 img1.jpg & a-img1.jpg 是图像。现在 img1.jpg 将位于“files/images/”位置,而 a-img1.jpg 将位于“files/a-images/”位置。我已成功上传图片,但它只会转到一个目标文件夹。这是我的代码,

    $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

1

由于您已经移动了文件,因此从同一来源进行的第二次移动将不起作用。也许您应该第二次复制该文件。

于 2013-08-16T13:58:46.173 回答
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 回答