更新文件映像


Update files images

我有代码,我在网站的某一部分上传了 6 张图片,该代码工作正常,现在,我需要更新或更改上传的任何图像,我的意思是我需要更改图像编号 3 和 6,例如,所以我写了这段代码

$i=0;
    while ($i<=5){          
        if (!empty($_FILES['ufile']['name'][$i]) and ($_FILES['ufile']['name'][$i]<>"")){           
            $path[$i] = "../slider_new/".$_FILES['ufile']['name'][$i];  
            $path[$i] =  str_replace(' ', '_',$path[$i]);
            copy($_FILES['ufile']['tmp_name'][$i], $path[$i]);
            echo "Ruta :".$path[$i]."<BR/>";
            echo "File Name :".$_FILES['ufile']['name'][$i]."<BR/>"; 
            echo "este es $i ",$i;
            $sql="UPDATE accommo_main_images SET name='".$_FILES['ufile']['name'][$i]."',ruta='".$path[$i]."' where num='$num'";
            $res=mysqli_query($cnx,$sql);     
        }
        $i=$i+1;        
    }

这个想法是检查名称以及何时与"不同时,所以.....更新图像,这就是想法,但我不知道为什么代码使用我选择的图像更新所有 6 个图像。

什么凸轮问题?

谢谢你的帮助

其中 num='$num'";

使用 SQL 语句,其中 NUM=$num。但是,您没有在此处提供给我们的代码中的任何位置设置$num。很可能您从未设置$num的值。你大概$i。我猜您可能在上传代码(初始上传)中也犯了同样的错误,因此所有图像都有 number=0。您现在正在更新具有数字 0 或空字符串(取决于数据库字段类型)的图像,这些图像将与您在其中的每个图像匹配。

尝试运行此代码并检查表条目。

$res = mysqli_query($cnx,"SELECT num,name FROM accommo_main_images");
var_dump(mysqli_fetch_all($res,MYSQLI_ASSOC));