Jump to content

Archived

This topic is now archived and is closed to further replies.

Immortal55

Image Upload script problem...help

Recommended Posts

Alright, something is wrong with this script and I cannot figure it out, I just get the 'Could no move File' Error that I wrote myself....

[code]
<?php


// code that will be executed if the form has been submitted:

if ($submit) {

    // connect to the database

    require_once('dbconnect.php');
    $conn = db_connect();
    mysql_select_db("user_art");
    
    move_uploaded_file("'" . $_FILES['form_data'] . "'", "art/" . $_FILES['name'] . " ")
      or die('Could not move the file'); // Good to have error checking.
    
    $path = "art/" . $_FILES['name'] . " ";
    
    mysql_query("INSERT INTO user_art (description, path, filename, filesize, filetype)
        VALUES ('" . $_POST['form_description'] . "', '$path', '" . $_FILES['name'] . "','" . $_FILES['size'] . "','" . $_FILES['type'] . "')");

    $id= mysql_insert_id();
    print "<p>This file has the following Database ID: <b>$id</b>";

    mysql_close();

} else {

    // else show the form to submit new data:
?>

    <form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
    File Description:<br>
    <input type="text" name="form_description"  size="40">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
    <br>File to upload/store in database:<br>
    <input type="file" name="form_data"  size="40">
    <p><input type="submit" name="submit" value="submit">
    </form>

<?php

}

?>
[/code]

thank you in advance.

Share this post


Link to post
Share on other sites
OK.

The $_FILES superdooperglobal is an aary of attributes for the uploaded file.

you MUST reference this array by the inputname of the form....

$_FILES['form_data']['name']
$_FILES['form_data']['type']

etc etc (often good to use the $_FILES['form_data']['error'] to check things!!)

Try that and it should improve things.

Share this post


Link to post
Share on other sites
alright, well i changed everything so the $_FILES has ['form_data'] before the attribute.....but all that the $_FILES['form_data']['error'] gave me was '0' thats it....does that mean anything?

Share this post


Link to post
Share on other sites
alright, i messed with the script, and its still not working it dosent show the id, hence its not doing the query..... this is the new updated one:

[code]
<?php


// code that will be executed if the form has been submitted:

if ($submit) {

    // connect to the database


    require_once('dbconnect.php');
    $conn = db_connect();
    mysql_select_db("user_art");
    
    $updir = "art/";
    $finame = $_FILES['form_data']['name'];
    $path = $updir.$finame;
    
    move_uploaded_file($_FILES['form_data']['tmp_name'], $path)
      or die('Could not move the file <br> ' . $_FILES['form_data']['error']  .' '); // Good to have error checking.
    
    $descript = $_POST['form_description'];
    $fisize = $_FILES['form_data']['size'];
    $fitype = $_FILES['form_data']['type'];
    
    $result = mysql_query("INSERT INTO user_art (description, path, filename, filesize, filetype)
                    VALUES ('" . $descript . "', '" . $path . "', '" . $finame . "', '" . $fisize . "', '" . $fitype . "')");
                    
if($result) {
    $id= mysql_insert_id();
    print "<p>This file has the following Database ID: <b>$id</b>";
    }

    mysql_close();

} else {

    // else show the form to submit new data:
?>

    <form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
    File Description:<br>
    <input type="text" name="form_description"  size="40">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
    <br>File to upload/store in database:<br>
    <input type="file" name="form_data"  size="40">
    <p><input type="submit" name="submit" value="submit">
    </form>

<?php

}

?>
[/code]

what is wrong now?

Share this post


Link to post
Share on other sites
does the file actually upload?

are you given any errors?

have you echoed out the query that is generatd so you can try to run directly in phpmyadmin?

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.