file upload problem

Discussion in 'PHP' started by promotingspace.net, Aug 23, 2007.

  1. #1
    Hi
    my image upload was working ok on local but sends error on the host.
    this is the error:
    Warning: move_uploaded_file(uploads/similar_project.gif) [function.move-uploaded-file]: failed to open stream: No such file or directory in /mnt/gs02/herd02/20421/domains/netfreelancer.com/html/index.php on line 756

    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpt1eYVN' to 'uploads/similar_project.gif' in /mnt/gs02/herd02/20421/domains/netfreelancer.com/html/index.php on line 756
    and the code:
    	if($_FILES['file']['name']!=""){
    	echo "ssss0";
    if (($_FILES["file"]["type"] == "image/gif")
    || ($_FILES["file"]["type"] == "image/jpg")
    && ($_FILES["file"]["size"] < 205000))
      {
      echo "ssss1";
      if ($_FILES["file"]["error"] > 0)
        {
        echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
        }
      else
        {
          $user=$_COOKIE['jfuser'];
          $getuserid="SELECT id FROM jf_users WHERE username='$username' ";
        $res=mysql_query($getuserid) or die(mysql_error());
        $row1=mysql_fetch_array($res);
        $user_id=$row1['id'];
        $check="SELECT * FROM images WHERE  user_id='$user_id' && active=1 ";
        $res2=mysql_query($check)or die(mysql_error());
        $num=mysql_num_rows($res2);
        echo $num;
    //    if ($num==10){ echo "You have uploaded the muximum of 10 images";}
    //    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 />";
    
        if (file_exists("upload/" . $_FILES["file"]["name"]))
          {
          echo $_FILES["file"]["name"] . " already exists. ";
          }
        else
          {
           $name= $_FILES["file"]["name"];
          $ar=explode(".",$name);
          $ext=$ar[1];
          move_uploaded_file($_FILES["file"]["tmp_name"],
          "uploads/" . $_FILES["file"]["name"]);
          $type=$_FILES["file"]["type"];
          if ($type=="image/gif"){
          $newname=md5(time());
          rename('uploads/'. $_FILES["file"]["name"],'images/'.$newname.'.gif');
          $iname=$newname.'.gif';
          $insertdb="INSERT INTO images (user_id,name) VALUES ('$user_id','$iname') ";
          $res_do=mysql_query($insertdb)or die(mysql_error());
          }
          if($type=="image/jpg"){
           $newname=md5(time());
          rename('uploads/'. $_FILES["file"]["name"],'images/'.$newname.'.jpg');
            $iname=$newname.'.jpg';
          $insertdb="INSERT INTO images (user_id,name) VALUES ('$user_id','$iname') ";
          $res_do=mysql_query($insertdb)or die(mysql_error());
         }
          echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
          }
      ///  }
        }
      }
    else
      {
      echo "Invalid file. Only gif or jpg files below 200Kb are accepted";
      }
    	}
    PHP:

     
    promotingspace.net, Aug 23, 2007 IP
  2. krt

    krt Well-Known Member

    Messages:
    829
    Likes Received:
    38
    Best Answers:
    0
    Trophy Points:
    120
    #2
    You seem to have some inconsistency between "upload" and "uploads" for the directory name.

    Also, have you created the directory "uploads" ? This can be done through FTP.
     
    krt, Aug 23, 2007 IP
  3. techMonster

    techMonster Peon

    Messages:
    20
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    0
    #3
    If you have created uploads directory, then make sure that the path you have given is correct path.
     
    techMonster, Aug 23, 2007 IP