上传到服务器上的图像的存储路径

问题描述:

<?php 
ob_start(); 
$con=mysqli_connect("localhost","root","","db"); 
// Check connection 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$file_exts = array("jpg", "bmp", "jpeg", "gif", "png"); 
$upload_exts = end(explode(".", $_FILES["file"]["name"])); 
if ((($_FILES["file"]["type"] == "image/gif") 
|| ($_FILES["file"]["type"] == "image/jpeg") 
|| ($_FILES["file"]["type"] == "image/png") 
|| ($_FILES["file"]["type"] == "image/pjpeg")) 
&& ($_FILES["file"]["size"] < 2000000) 
&& in_array($upload_exts, $file_exts)) 
    { 
     if ($_FILES["file"]["error"] > 0) 
      { 
       echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; 
      } 
     else 
      { 
       //echo "Upload: " . $_FILES["file"]["name"] . "<br>"; 
       //echo "Type: " . $_FILES["file"]["type"] . "<br>"; 
       //echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>"; 
       //echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>"; 
       // Enter your path to upload file here 
       if (file_exists("uploads".$_FILES["file"]["name"])) 
        { 
         echo "<div class='error'>"."(".$_FILES["file"]["name"].")". " already exists. "."</div>"; 
        } 
       else 
        { 
         move_uploaded_file($_FILES["file"]["tmp_name"],"uploads/" . $_FILES["file"]["name"]); 

         $imagepath = "uploads/" . $_FILES["file"]["name"].; 

         $sql = "UPDATE register SET imagepath='$imagepath' WHERE id='$user_coid' "; 
          if (!mysqli_query($con,$sql)) 
           { 
            die('Error: ' . mysqli_error($con)); 
           } 
        } 
      } 
    } 
else 
    { 
     echo "<div class='error'>Invalid file</div>"; 
    } 
mysqli_close($con); 
?> 

我有这个脚本从用户获取输入并上载服务器文件夹中的图像,但我也希望保存图像在数据库中的路径。但是我不能这样做,任何人都可以请用这个代码引导我上传到服务器上的图像的存储路径

+0

什么是错误?图像是否上传到正确的路径?查询是否给出错误? – slapyo 2014-11-24 17:32:37

+0

**警告**:使用'mysqli'时,应该使用参数化查询和['bind_param'](http://php.net/manual/en/mysqli-stmt.bind-param.php)来添加用户数据到您的查询。 **不要**使用字符串插值来实现此目的,因为您将创建严重的[SQL注入漏洞](http://bobby-tables.com/)。 – tadman 2014-11-24 17:33:29

+0

@slapyo图像正在上传到服务器文件夹,但在保存路径时出现$ imagepath =“uploads /”语法错误。 $ _FILES [ “文件”] [ “名称”]; – user3774056 2014-11-24 17:34:11

你在那里有一个额外的.。就像你要连接字符串一样,但没有任何结果。在分号前删除.

$imagepath = "uploads/" . $_FILES["file"]["name"];