title: AWS EC2 file upload with php
body: <p>Im facing some problem with upload image to my wamp server which located in aws ec2 instance, When im trying to uplaod some parametrs into my tables, all the parametrs are uploaded succesfully except the image itself, the wamp server installed on Microsoft Windows Server 2012 R2 Base, which provided by amazon, port 80 opened, and so is the httpd.conf file with permissions.</p>
  
  <p>here is the code from android which uploads the image and the parametrs:</p>
  
  <pre><code>public void uploadProduct() {
      //getting name for the image
      String name = editText.getText().toString().trim();
      String Description = editText2.getText().toString().trim();
      String Serial = editText3.getText().toString().trim();
      String price = editText4.getText().toString().trim();
  
      //getting the actual path of the image
      String path = getPath(fileUri);
  
      //Uploading code
      try {
          String uploadId = UUID.randomUUID().toString();
  
          //Creating a multi part request
          new MultipartUploadRequest(this, uploadId, URL_INDEX)
                  .addFileToUpload(path, "image") //Adding file
                  .addParameter("name", name)
                  .addParameter("product_description", Description)
                  .addParameter("product_serial", Serial)
                  .addParameter("product_price", price)//Adding text parameter to the request
                  .setNotificationConfig(new UploadNotificationConfig())
                  .setMaxRetries(2)
                  .startUpload(); //Starting the upload
  
      } catch (Exception exc) {
          Toast.makeText(this, exc.getMessage(), Toast.LENGTH_SHORT).show();
      }
  }
  </code></pre>
  
  <p>The code for getting image Uri:</p>
  
  <pre><code> public String getPath(Uri uri) {
      String filePath = "";
  
      String wholeID = DocumentsContract.getDocumentId(uri);
  
      // Split at colon, use second item in the array
      String id = wholeID.split(":")[1];
  
      String[] column = { MediaStore.Images.Media.DATA };
  
      // where id is equal to
      String sel = MediaStore.Images.Media._ID + "=?";
  
      Cursor cursor = getApplicationContext().getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
              column, sel, new String[]{ id }, null);
  
      int columnIndex = cursor.getColumnIndex(column[0]);
  
      if (cursor.moveToFirst()) {
          filePath = cursor.getString(columnIndex);
      }
      cursor.close();
      return filePath;
  
  }
  </code></pre>
  
  <p>and the php:</p>
  
  <blockquote>
    <p>
  </blockquote>
  
  <p>require_once 'db_config.php';</p>
  
  <p>$upload_path = 'uploads/';</p>
  
  <p>$upload_url = '<a href="http://55.26.0.105/android/uploads/" rel="nofollow">http://55.26.0.105/android/uploads/</a>';</p>
  
  <p>$response = array();</p>
  
  <p>if($_SERVER['REQUEST_METHOD']=='POST'){</p>
  
  <pre><code>//checking the required parameters from the request
  if( isset($_FILES['image']['name']) and isset($_POST['name']) and isset($_POST['product_description']) and isset($_POST['product_serial']) and isset($_POST['product_price'])){
  
      //connecting to the database
      $con = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME) or die('Unable to Connect...');
  
      //getting values from the request
      $product_serial_num = (int) $_POST['product_serial'];
      $product_price = (int) $_POST['product_price'];
      $product_title = $_POST['name'];
      $product_description = $_POST['product_description'];
  
  
      //getting img info from the request
      $fileInfo = pathinfo($_FILES['image']['name']);
  
      //getting the file extension
      $extension = $fileInfo['extension'];
  
      //file url to store in the database
      $file_url = $upload_url . $product_title . '.' . $extension;
  
      //file path to upload in the server
      $file_path = $upload_path . $product_title . '.'. $extension;
  
      //trying to save the file in the directory
      try{
          //saving the file
          move_uploaded_file($_FILES['image']['tmp_name'],$file_path);
          $sql = "INSERT INTO product_tbl(product_serial_num, product_price, product_title, product_description, product_img) VALUES ('$product_serial_num','$product_price','$product_title','$product_description', '$file_url');";
  
          //adding the path and name to database
          if(mysqli_query($con,$sql)){
  
              //filling response array with values
              $response['error'] = false;
              $response['url'] = $file_url;
              $response['name'] = $product_title;
          }
          //if some error occurred
      }catch(Exception $e){
          $response['error']=true;
          $response['message']=$e-&gt;getMessage();
      }
      //displaying the response
      echo json_encode($response);
  
      //closing the connection
      mysqli_close($con);
  }else{
      $response['error']=true;
      $response['message']='Please choose a file';
  }
  </code></pre>
  
  <p>}
  ?></p>
  
  <p>Any help would be appriciated, thanks a lot!</p>