Php 更新文件和图像

Php 更新文件和图像,php,Php,我有一个代码,我上传了6个图片在我的网站的一部分,这代码工作得很好,现在,我需要更新或更改任何上传的图片,我的意思是我需要更改图片编号3和6,例如,所以我写了这段代码 $i=0; while ($i<=5){ if (!empty($_FILES['ufile']['name'][$i]) and ($_FILES['ufile']['name'][$i]<>"")){ $path[$i]

我有一个代码,我上传了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;        
    }
$i=0;
而我
其中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));

大家好……不要担心$num,它是在这个函数的前一行中设置的,我会添加它,因为我认为它不是必需的,这仍然是一个问题,因为您正在更新id等于$num的所有行。但是,您的$num在循环中没有变化,所以$num对于所有查询和可能的行都是相等的!好的,但是这一行($\u FILES['ufile']['name'][$i]“”)应该只对我添加的图像为真,而不是对其余的图像为真,对吗?看,这个id是varu dump fot ufiles数组(size=5)'name'=>array(size=6)0=>string'ballena1.jpg'(length=12)1=>string'(length=0)2=>string'(length=0)3=>string'(length=0)4=>string'(length=0)5=>字符串“”(length=0)Look!!在这种情况下,只有第一个需要修改正确。(“”)为false,也为null也是错误的。因此,if语句是正确的,但是sql不是。尝试添加一个echo“正在更新的图像”,看看循环实际被调用了多少次。这很奇怪……看,我添加了你说的echo和一个var_dump and look数组(size=5)'name'=>array(size=6)0=>string'(length=0)1=>string'(length=0)2=>string'(length=0)3=>string'3.jpg'(length=5)4=>string'(length=0)5=>string'(length=0)类型=>array(size=6)0=>string'(length=0)1=>string'(length=0)2=>string'(length=0)3=>string'image/jpeg'(length=10)4=>string'(length=0)5=>string'(length=0)Ruta:../slider\u new/3.jpg文件名:3.jpg este es 3正在更新的图像