更新文件图像

时间:2014-11-24 15:41:28

标签: php

我有代码,我在我的网站的一个部分上传了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个图像我选择了。

问题是什么?

谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

  

其中num =&#39; $ num&#39;&#34 ;;

您使用SQL语句WHERE NUM = $ num。但是,你没有在你给我们的代码中的任何地方设置$ num。很可能你永远不会设置$ num的值。你最好是$ i。 我猜你也可能在你的上传代码中犯了同样的错误(初始上传),因此所有的图片都有数字= 0。 您现在正在更新具有数字0的图像或空字符串(取决于数据库字段类型),这些图像将匹配您在那里的每个图像。

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

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