上传特定目录中的图像,如/i/m/image.jpg

时间:2015-07-15 09:07:41

标签: php image magento upload

我希望在我的服务器上的/media/catalog/product目录中上传图片 然后它将获取图像的第一个字符并将其放在与该字符匹配的目录中(如果它不存在则还需要创建目录),然后对第二个字符执行相同的操作。

e.g 如果我上传名为product.jpg的图片,则会在目录/media/catalog/product/p/r/

中结束

test.jpg - > /media/catalog/product/t/e/

图像都在我的计算机上的文件夹中,或者我可以将它们全部上传到一个目录。

我正在尝试使用Magento 1.9版

1 个答案:

答案 0 :(得分:0)

<?PHP

/* TRANSFORM FILES ARRAY */
function diverse_array($vector) { 
    $result = array(); 
    foreach($vector as $key1 => $value1) 
        foreach($value1 as $key2 => $value2) 
            $result[$key2][$key1] = $value2; 
    return $result; 
}

/* DO THE TRANSFORMATION, warning key for the superglobal $_FILES may be "picture" */
$upload = diverse_array($_FILES["upload"]);

/* create folder if not exists and then move file to the right folder */
foreach($upload as $current)
{
    mkdir("/media/catalog/product/" . $current["name"][0]);
    mkdir("/media/catalog/product/" . $current["name"][0] . "/" . $current["name"][1]);
    move_uploaded_file($current["tmp_name"],
    "media/catalog/product/" . $current["name"][0] . "/" . $current["name"][1] . "/" . $current["name"]);
}

请注意,您可能希望更改目录的权限,请参阅mkdir manual,并检查输入文件的名称。