Search code examples
phpuploading

Uploaded songs via PHP


I have made an API for upload songs but it is creating problem. When I have upload a song through my android device, it is uploading in my Songs folder on Ubuntu but this song is not playing. Please give me the solution?

My code is this:

<?php

include('connect.php');
header("Content-type: text/xml");

$target_path = "./Songs/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path))
{

    echo "The file ".'"'.  basename( $_FILES['uploadedfile']['name']) .'"'." has been uploaded";

    chmod ("Songs/".basename( $_FILES['uploadedfile']['name']), 0644);
} 
else
{
    echo "There was an error uploading the file, please try again!";

    echo "filename: " .  basename( $_FILES['uploadedfile']['name']);

    echo "target_path: " .$target_path;
}

?>

Solution

  • I have done it and it's working fine.

    <?php
    
    $target_path = "./Songs/";
    
    $target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
    
    //Get the uploaded file information
    
    $name_of_uploaded_file =basename($_FILES['uploadedfile']['name']);
    
    //get the size of the file
    
    $size_of_uploaded_file = $_FILES["uploadedfile"]["size"]/1024;//size in KBs
    
    //get the file extension of the file
    
    $type_of_uploaded_file = substr($name_of_uploaded_file, strrpos($name_of_uploaded_file, '.') + 1);
    
    //echo $size_of_uploaded_file;
    
    $max_allowed_file_size = 10000; // size in KB
    
    //Validations
    
    if($size_of_uploaded_file>$max_allowed_file_size )
    {
    
      $errors .= "\n Size of file should be less than $max_allowed_file_size";
    
      echo $errors;
    
      exit();
    
    }
    
    $allowed_extensions = array("mp3");
    
    //------ Validate the file extension -----
    
    $allowed_ext = false;
    
    for($i=0; $i < sizeof($allowed_extensions); $i++)
    {
    
      if(strcasecmp($allowed_extensions[$i],$type_of_uploaded_file) == 0)
      {
    
        $allowed_ext = true;
    
      }
    
    }
    
    if(!$allowed_ext)
    {
    
      $errors ="The uploaded file is not supported file type");
    
      echo 'not a song. Error = '.$errors;
    
      exit();
    
    }
       $t_remaining = $time_remaining-$duration_of_song ;
    
      if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) 
      {
    
            // perform any operation 
    
        echo "successfully uploaded";
    
            chmod ("Songs/". basename( $_FILES['uploadedfile']['name']), 0777);
    
    } 
    else
    {
    
        echo "error in uploading";
    
    }