PHP无法使用localhost

时间:2015-08-21 10:39:53

标签: php mysql image uploading

我在这里工作。在网站的一部分上,管理员可以上传图片,它将存储在服务器上,并且还可以使用位置和上传时间进入数据库。

我在本地工作,但使用WAMP作为测试服务器。如果我在地址栏中手动运行localhost / includes / db.php(数据库连接),我可以看到它已连接,并且已成功连接"。

    <?php

try {

   $dbname = "woody_tools";
   $user = "site";
   $pass = "site";
   $host = "localhost";


   # MySQL with PDO_MYSQL
  $conn = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully"; 
    }

catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }

?>

这是我正在使用的页面中的表单控件,管理员选择并上传图片。

<form action="includes/saveimage.php" enctype="multipart/form-data" method="post">

          <table style="border-collapse: collapse; font: 12px Tahoma;" border="1" cellspacing="5" cellpadding="5"> <!-- Table to upload products -->
          <tbody>
            <tr>
              <td><input name="uploadedimage" type="file"></td>
            </tr>
            <tr>
              <td><input name="Upload Now" type="submit" value="Upload Image"></td>
            </tr>
          </tbody>
          </table>  <!-- Table to upload products -->
        </form>
      </div>
    </div> 

用于处理上传图像和更新数据库的php页面的代码。

<?php
include("includes/db.php");

    function GetImageExtension($imagetype)
     {
       if(empty($imagetype)) return false;
       switch($imagetype)
       {
           case 'image/bmp': return '.bmp';
           case 'image/gif': return '.gif';
           case 'image/jpeg': return '.jpg';
           case 'image/png': return '.png';
           default: return false;
       }
     }



if (!empty($_FILES["uploadedimage"]["name"])) {

    $file_name=$_FILES["uploadedimage"]["name"];
    $temp_name=$_FILES["uploadedimage"]["tmp_name"];
    $imgtype=$_FILES["uploadedimage"]["type"];
    $ext= GetImageExtension($imgtype);
    $imagename=$_FILES["uploadedimage"]["name"];
    $target_path = "Product_Images/".$imagename;


if(move_uploaded_file($temp_name, $target_path)) {

    $query_upload="INSERT into 'images_tbl' ('images_path','submission_date') VALUES 

('".$target_path."','".date("Y-m-d")."')";
    mysql_query($query_upload) or die("error in $query_upload == ----> ".mysql_error());  

}else{

   exit("Error While uploading image on the server");
} 

}

?>

当我运行此代码时,我可以选择一张图片并点击&#34;上传&#34;但这是出问题的地方。我收到以下错误。请指出我正确的方向。

Snippet of the error message

我知道数据库连接使用PDO而saveimages.php没有。我从找到here的教程中借用了这个脚本。一旦我开始工作,我将尝试将其转换为PDO。当我做这一切来教自己时,我试图采取婴儿步骤。此外,我确认在运行这些数据后没有数据添加到数据库中。

提前谢谢!!!

3 个答案:

答案 0 :(得分:0)

sublime的目录结构片段:

enter image description here

答案 1 :(得分:0)

您必须致电include("db.php");而不是include("includes/db.php");,因为saveimage.php位于includes目录。

您还必须确保Product_Images目录位于includes目录中,并且您的网络服务器有权写入该目录。

答案 2 :(得分:0)

谢谢大家。 @Aedix Rhinedale没错。我忘记了;他还给了我一些很好的选择!!!