【发布时间】:2013-08-16 13:53:58
【问题描述】:
假设有 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!
【问题讨论】:
-
两个图像在表单
img上是否具有相同的名称?为两张图片设置不同的名称,然后您将能够识别要在哪个文件夹中上传哪个图片。 -
@DeadMan,不,我必须使用单个多个上传按钮。多张图片将同时上传,我的程序需要识别哪个有“a”。
-
检查上传文件的
name,确定哪个位置适合它。 -
如果您移动了一次上传的文件,您将无法在同一个文件上再次移动,因为它已经被移动了。
-
这是一个坏主意,因为文件名中可以包含字符“a”,但如果您愿意,可以使用
strpos函数在文件名中找到“a”的位置。如果你得到它,然后将它上传到不同的文件夹中。在这里阅读更多:php.net/manual/en/function.strpos.php