SitePoint Sponsor

User Tag List

Results 1 to 4 of 4

Thread: Audio uploads

  1. #1
    SitePoint Guru
    Join Date
    Nov 2004
    Location
    sweden
    Posts
    645
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    Audio uploads

    I have been thinking and thinking about different solutions to a web page I'm working on.

    I have users, that will be able to upload their sound files to my site.
    Since people don't know how to convert things the right way, I guess there might be different things showing up.

    I would like the users to be able to upload either a wav or mp3 file and nothing else.
    Is there ready scripts out there that I can copy and paste and modify? I guess people have been doing this before, so I guess there might be one or many working codes.

    What I need is a form where the user can upload a file to a dir on my server.
    Probably the file size might be as large as 30MB sometimes (if using wav).

    But I want the script to only accept mp3 or wav files.

    I found a code that might be a part of what I'm looking for, but not everything.
    Any ideas or maybe someone knows where I should look?
    Or is it a simple code just adding bits to this code?

    PHP Code:
    <?php

    // Upload location 
    //$sound_path = getcwd().DIRECTORY_SEPARATOR; 
    $sound_path "audio/"

    $result 0

    $goal_path $sound_path basename$_fileS['myfile']['name']); 

    if(@
    move_uploaded_file($_fileS['myfile']['tmp_name'], $goal_path)) 

    $result 1
    setcookie("audiofileOne"$goal_path); 


    ?>

  2. #2
    SitePoint Addict
    Join Date
    Apr 2011
    Posts
    266
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hi,
    Try this script (it can be used to allow to upload the type of files you want, see the comments in code):
    PHP Code:
    <?php
    // Simple PHP Upload Script:  http://coursesweb.net/php-mysql/

    $uploadpath 'upload/';      // directory to store the uploaded files
    $max_size 30000;          // maximum file size, in KiloBytes
    $alwidth 900;            // maximum allowed width, in pixels
    $alheight 800;           // maximum allowed height, in pixels
    $allowtype = array('wav''mp3');        // allowed extensions

    if(isset($_FILES['fileup']) && strlen($_FILES['fileup']['name']) > 1) {
      
    $uploadpath $uploadpath basename$_FILES['fileup']['name']);       // gets the file name
      
    $sepext explode('.'strtolower($_FILES['fileup']['name']));
      
    $type end($sepext);       // gets extension
      
    list($width$height) = getimagesize($_FILES['fileup']['tmp_name']);     // gets image width and height
      
    $err '';         // to store the errors

      // Checks if the file has allowed type, size, width and height (for images)
      
    if(!in_array($type$allowtype)) $err .= 'The file: <b>'$_FILES['fileup']['name']. '</b> not has the allowed extension type.';
      if(
    $_FILES['fileup']['size'] > $max_size*1000$err .= '<br/>Maximum file size must be: '$max_size' KB.';
      if(isset(
    $width) && isset($height) && ($width >= $alwidth || $height >= $alheight)) $err .= '<br/>The maximum Width x Height must be: '$alwidth' x '$alheight;

      
    // If no errors, upload the image, else, output the errors
      
    if($err == '') {
        if(
    move_uploaded_file($_FILES['fileup']['tmp_name'], $uploadpath)) { 
          echo 
    'File: <b>'basename$_FILES['fileup']['name']). '</b> successfully uploaded:';
          echo 
    '<br/>File type: <b>'$_FILES['fileup']['type'] .'</b>';
          echo 
    '<br />Size: <b>'number_format($_FILES['fileup']['size']/10243'.''') .'</b> KB';
          if(isset(
    $width) && isset($height)) echo '<br/>Image Width x Height: '$width' x '$height;
          echo 
    '<br/><br/>Image address: <b>http://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['REQUEST_URI']), '\\/').'/'.$uploadpath.'</b>';
        }
        else echo 
    '<b>Unable to upload the file.</b>';
      }
      else echo 
    $err;
    }
    ?> 
    <div style="margin:1em auto; width:333px; text-align:center;">
     <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" enctype="multipart/form-data"> 
      Upload File: <input type="file" name="fileup" /><br/>
      <input type="submit" name='submit' value="Upload" /> 
     </form>
    </div>
    Free: Web Programming Courses HTML, CSS, Flash
    Web Programming: AJAX Course and PHP-MySQL Course video Lessons
    Good JavaScript and jQuery course for beginners

  3. #3
    SitePoint Zealot 2ndmouse's Avatar
    Join Date
    Jan 2007
    Location
    West London
    Posts
    196
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Here's another, slightly more simplistic, possibility - using your code:

    PHP Code:
    <?php
    $file_type_full 
    explode('/',$_FILES['myfile']['type']);
    echo 
    '<pre>';
     
    print_r($file_type_full);
    echo 
    '</pre>';

    $file_type $file_type_full[1];

    print 
    'File type: '.$file_type.'<br>';

    echo 
    '<pre>';
     
    print_r($_FILES['myfile']);
    echo 
    '</pre>';



    if(ISSET(
    $_FILES)){  
        
    $sound_path "audio/";
        
            if(
    $file_type == 'wav' || $file_type == 'mp3'){

                
    $result 0;

                
    $goal_path $sound_path basename$_FILES['myfile']['name']);  

                if(
    move_uploaded_file($_FILES['myfile']['tmp_name'], $goal_path))  
                {  
                
    $result 1;  
                
    setcookie("audiofileOne"$goal_path);  
                }

                if(
    file_exists($goal_path)){
                    echo 
    'File '.$_FILES['myfile']['name'].' uploaded successfully.';
                }
            }else{
                echo 
    'Wrong file type';          
            }
    }else{
        echo 
    'Please go back and selct a file';
    }
    ?>
    Detect file changes remotely. SimpleSiteAudit is an early
    warning anti-hacker system which sends an alert on detection.

    PHP Find Orphan Files - Finds all the unreferenced files on your site.

  4. #4
    SitePoint Guru
    Join Date
    Nov 2004
    Location
    sweden
    Posts
    645
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Thanks a lot. I will try these within a few days... or next time I have the time to keep working on this little project.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •