www.webdeveloper.com
Results 1 to 3 of 3

Thread: [RESOLVED] HELP needed with file upload

  1. #1
    Join Date
    Aug 2011
    Posts
    22

    resolved [RESOLVED] HELP needed with file upload

    Can anybody help with this little problem i have. Im pretty new to PHP im trying to develop a file upload site, and have bumped into a problem when trying to apply, I think the end() function; not quite sure for certain. The script isnt complete but in essence at this stage im trying to varify if the file extension the user has choosen is one of the allowed extensions.

    Heres the script followed by the error message displayed:

    PHP Code:
    <?php require ("design/top.php"); 

    if (!(isset(
    $_SESSION['user'])&& $_SESSION['user']!=''))
    {
        
    header("Location: loginC2S.php");    
    }

    ?>
        
    <title>boxeD:IN - Upload</title>
    <div id= 'left'> <br />
        
            
    <?php
            
    if (isset ($_FILES['userfile']))
    {
        
    $errors = array(); //list of errors
        
    $allowed_ext = array('jpg','jpeg','gif','png','mp3');
                
        
    $file_name $_FILES['userfile']['name']; 
        
    $file_ext strtolower (end(explode ('.'$file_name)));        
        
    $file_size $_FILES ['userfile']['size'];    
        
    $file_tmp $_FILES ['userfile']['tmp_name'];    
                
        if (
    in_array($file_ext$allowed_ext) ===false)    
        {
            
    $errors[] = "Extension not allowed!!!";
        }

    }
            
            
    ?>
            
    <form action ='upload.php' method ='POST' enctype ='multipart/form-data'> 
        <table>
            <tr>
                <td>Select file to upload:</td>
            </tr>
            <tr>
                <td><input type='file' name='userfile'/></td>
            </tr>
            <tr>
                <td><input type='submit' value='Upload'/></td>
            </tr>
        </table>        
    </form>

    </div>
        
    <?php require ("design/bottom.php"); ?>
    Error Message:

    Strict Standards: Only variables should be passed by reference in C:\xampp\htdocs\Care2Share\upload.php on line 22
    The error message is refering to:

    PHP Code:
    $file_ext strtolower (end(explode ('.'$file_name))); 
    Any help would be much appreciated. Thanks

  2. #2
    Join Date
    Jun 2008
    Posts
    35
    I personally would get the file extension using php's native function like this:

    $file_info = pathinfo($file_name);
    $file_ext = $file_info['extension'];

  3. #3
    Join Date
    Aug 2011
    Posts
    22
    Thanks ended up resolving the problem using pathinfo as advised:

    PHP Code:
    $file_ext pathinfo($file_namePATHINFO_EXTENSION); 
    The following also worked great:

    PHP Code:
    $array explode ('.'$file_name); 
    $file_ext strtolower (end($array)); 

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

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



Recent Articles