SitePoint Sponsor

User Tag List

Results 1 to 3 of 3

Thread: Path Problem

  1. #1
    SitePoint Evangelist
    Join Date
    Apr 2007
    Posts
    398
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Path Problem

    Hi Guys,

    I have a upload form which works great and saves data into my database like so:



    However, on the image_name field I want to save just the image name in there, not the full path. I however canít seem to do this, can anyone help?

    Thanks

    Chris

    PHP Code:
    <?php  
       
    // Start the connection to the database       
    // End the connection to the database        

    // filename: upload.processor.php 

    // first let's set some variables 

    // make a note of the current working directory, relative to root. 
    $directory_self str_replace(basename($_SERVER['PHP_SELF']), ''$_SERVER['PHP_SELF']); 

    // make a note of the directory that will recieve the uploaded files 
    $uploadsDirectory $_SERVER['DOCUMENT_ROOT'] . $directory_self 'uploaded_files/'

    // make a note of the location of the upload form in case we need it 
    $uploadForm 'http://' $_SERVER['HTTP_HOST'] . $directory_self 'multiple.upload.form.php'

    // make a note of the location of the success page 
    $uploadSuccess 'http://' $_SERVER['HTTP_HOST'] . $directory_self 'multiple.upload.success.php'

    // name of the fieldname used for the file in the HTML form 
    $fieldname 'file'

    //Get Team id and Match id 
    $team_id $_GET['team_id']; 
    $x $_GET['report_id']; 

    //echo'<pre>';print_r($_FILES);exit; 



    // Now let's deal with the uploaded files 

    // possible PHP upload errors 
    $errors = array(=> 'php.ini max file size exceeded'
                    
    => 'html form max file size exceeded'
                    
    => 'file upload was only partial'
                    
    => 'no file was attached'); 

    // check the upload form was actually submitted else print form 
    isset($_POST['submit']) 
        or 
    error('the upload form is neaded'$uploadForm); 
         
    // check if any files were uploaded and if 
    // so store the active $_FILES array keys 
    $active_keys = array(); 
    foreach(
    $_FILES[$fieldname]['name'] as $key => $filename

        if(!empty(
    $filename)) 
        { 
            
    $active_keys[] = $key
        } 


    // check at least one file was uploaded 
    count($active_keys
        or 
    error('No files were uploaded'$uploadForm); 
             
    // check for standard uploading errors 
    foreach($active_keys as $key

        (
    $_FILES[$fieldname]['error'][$key] == 0
            or 
    error($_FILES[$fieldname]['tmp_name'][$key].': '.$errors[$_FILES[$fieldname]['error'][$key]], $uploadForm); 

         
    // check that the file we are working on really was an HTTP upload 
    foreach($active_keys as $key

        @
    is_uploaded_file($_FILES[$fieldname]['tmp_name'][$key]) 
            or 
    error($_FILES[$fieldname]['tmp_name'][$key].' not an HTTP upload'$uploadForm); 

         
    // validation... since this is an image upload script we 
    // should run a check to make sure the upload is an image 
    foreach($active_keys as $key

        @
    getimagesize($_FILES[$fieldname]['tmp_name'][$key]) 
            or 
    error($_FILES[$fieldname]['tmp_name'][$key].' not an image'$uploadForm); 

         
    // make a unique filename for the uploaded file and check it is 
    // not taken... if it is keep trying until we find a vacant one 
    foreach($active_keys as $key

        
    $now time(); 
        while(
    file_exists($uploadFilename[$key] = $uploadsDirectory.$now.'-'.$_FILES[$fieldname]['name'][$key])) 
        { 
            
    $now++; 
        } 


    // now let's move the file to its final and allocate it with the new filename 
    foreach($active_keys as $key

        @
    move_uploaded_file($_FILES[$fieldname]['tmp_name'][$key], $uploadFilename[$key]) 
            or 
    error('receiving directory insuffiecient permission'$uploadForm); 

         
    // If you got this far, everything has worked and the file has been successfully saved. 
    // We are now going to redirect the client to the success page. 

    # current timestamp 
    $date_added time(); 
         
    for(
    $i=0$i<=count($uploadFilename); $i++) { 
    if(
    $uploadFilename[$i] != ""){ 
    $sql 
    INSERT INTO 
    `report_pictures` 
    (`image_name`,`caption`,`team_id`,`report_id` ) 
    VALUES 
    ('"
    $uploadFilename[$i] ."','"mysql_real_escape_string($_POST['caption'][$i]) ."','$team_id','$x')"

     
    mysql_query($sql) or die(mysql_error()); 

    }
             
            
    // If you got this far, everything has worked and the file has been successfully saved. 
    // We are now going to redirect the client to a success page. 
    header('Location: ' $uploadSuccess); 

    // make an error handler which will be used if the upload fails 
    function error($error$location$seconds 5

        
    header("Refresh: $seconds; URL=\"$location\""); 
        echo 
    '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"'."\n"
        
    '"http://www.w3.org/TR/html4/strict.dtd">'."\n\n"
        
    '<html lang="en">'."\n"
        
    '    <head>'."\n"
        
    '        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">'."\n\n"
        
    '        <link rel="stylesheet" type="text/css" href="stylesheet.css">'."\n\n"
        
    '    <title>Upload error</title>'."\n\n"
        
    '    </head>'."\n\n"
        
    '    <body>'."\n\n"
        
    '    <div id="Upload">'."\n\n"
        
    '        <h1>Upload failure</h1>'."\n\n"
        
    '        <p>An error has occured: '."\n\n"
        
    '        <span class="red">' $error '...</span>'."\n\n"
        
    '         The upload form is reloading</p>'."\n\n"
        
    '     </div>'."\n\n"
        
    '</html>'
        exit; 
    // end error handler 

    ?>

  2. #2
    SitePoint Wizard bronze trophy Kailash Badu's Avatar
    Join Date
    Nov 2005
    Posts
    2,561
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    basename() dude !

  3. #3
    dooby dooby doo silver trophybronze trophy
    spikeZ's Avatar
    Join Date
    Aug 2004
    Location
    Manchester UK
    Posts
    13,788
    Mentioned
    151 Post(s)
    Tagged
    3 Thread(s)
    ^ yup

    PHP Code:
    $sql 
    INSERT INTO 
    `report_pictures` 
    (`image_name`,`caption`,`team_id`,`report_id` ) 
    VALUES 
    ('"
    basename($uploadFilename[$i]) ."','"mysql_real_escape_string($_POST['caption'][$i]) ."','$team_id','$x')"
    Mike Swiffin - Community Team Advisor
    Only a woman can read between the lines of a one word answer.....


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
  •