繁体   English   中英

将上传的文件移到php文件夹中

[英]move uploaded file into folder in php

我使用下面的代码将图像更新到表中,它正在更新图像,但是在检索图像时路径正确显示,但图像未显示在页面中。

if(isset($_FILES['file'])){
    $errors= array();
    $file_name = $_FILES['file']['name'];
    $file_size =$_FILES['file']['size'];
    $file_tmp =$_FILES['file']['tmp_name'];
    $file_type=$_FILES['file']['type'];   
    $file_ext=strtolower(end(explode('.',$_FILES['file']['name'])));

    $expensions= array("jpg","png","gif");      
    if(in_array($file_ext,$expensions)=== false){
        $errors[]="extension not allowed, please choose a JPEG or PNG file.";
    }
    if($file_size > 2097152){
    $errors[]='File size must be excately 2 MB';
    }               
    if(empty($errors)==true){
        move_uploaded_file($file_tmp,"C:\wamp\www\Mr.bazaar\images\ ".$file_name);
        echo "Success";
    }else{
        print_r($errors);
    }
}


        $a=$_POST['pids'];
        echo $a;
        $b=$_FILES['file']['name'];
        echo $b;
        $qry1=mysql_query("update brand set image='$b' where brand='$a'");

        if($qry1)
        echo "<script>alert('Your image Sucessgully Uploaded.');</script>"; 
        else
        echo "<script>alert('try again');</script>";

我使用下面的代码在页面中显示图像,但未在页面中显示

$result = mysql_query("select b_id,brand,image from brand"); 

                while($row = mysql_fetch_array( $result )) {
                    // Print out the contents of each row into a table

                    echo '<tr>';

                    echo '<td>';
                    echo $row['brand'];
                    echo '</td><td>';
                    echo '<img height="30" width="60" src=../../images/';
                    echo $row['image'];
                    echo '>';

                    echo '</td>';


                } 

您上一个代码中没有引用image。 假设循环应如下所示:

while ($row = mysql_fetch_array($result)) {
  $product = $row['brand'];
  $image = $row['image'];
  echo "<option value=\"$product\">$image</option>";
}

我认为有两个错误。

  1. 首先在上载目录中检查文件是否实际被上载。 如果文件未上传,则在move_uploaded_file函数中提供上传目录的相对路径,即路径应类似于“ ../../upload_directory”,而不应类似于“ c:/ somefolder /”或“ http://example.com” / abs “。

  2. 第二个错误是在您的图像源声明中

    src=../../images/'; echo $row['image']; echo '>';

    在这里,您缺少src后的双引号,即(“”)。 应该像

    src="../../images/'; echo $row['image']; echo '">';

请注意,第一行的=后面和尖括号>之前的双引号(“)。

希望在更正上述两个错误之后,您的代码可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM