Locatie van plaatje in db zetten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

26/07/2004 15:17:00
Quote Anchor link
Hallo mensen,

Ik heb een werkend uploadscriptje wat een plaatje upload via een formulier naar de /tmp dir op de server(lokaal) en vervolgens het plaatje wegschrijft naar een andere dir met een nieuwe naam.

Dit is het script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
    //upload2dir.php
        echo "<html>\n",
             "<head>\n",
             "<title>Voeg een foto toe aan de winkel</title>\n",
             "</head>\n",
             "<body>\n";

    if (!isset($_POST['do_action']))
    {


        echo "<b>Selecteer een afbeelding</b><form action='{$_SERVER['PHP_SELF']}' method='post' enctype='multipart/form-data'>\n",
             "<tr><input type='file' name='userfile' /></tr />\n",
             "<input type='hidden' name='MAX_FILE_SIZE' value='40000' />\n",
             "<input type='submit' name='do_action' value='Upload' />\n",
             "</form>\n";
    }

    else
    {
        // You may also use if (is_uploaded_file($_FILES['userfile']['tmp_name']))
        // IMO using if isset is an identical test


        if (isset($_FILES['userfile']['tmp_name']))
        {

            // In this line I'm examining the file size and the MIME type of the file
            // to verify that the file is in the acceptable size range and is a jpeg
            // image.  MIME type testing isn't foolproof, it is possible to spoof this.
            // The size testing, however, is not spoofable.


            if (($_FILES['userfile']['size'] <= 40000) && ($_FILES['userfile']['type'] == 'image/jpeg' || $_FILES['userfile']['type'] == 'image/pjpeg'))
            {

                // Give the file a new name to prevent one user from overwriting files
                // uploaded by another. mktime(), which creates a UNIX timestamp in
                // addition to the user name is good for this.


                $new_file_name = mktime().'.jpg';

                // $_SERVER['DOCUMENT_ROOT'] will provide an absolute path to the base directory
                // fill in the rest of the path from there, if necessary.
                // echo the value of $_SERVER['DOCUMENT_ROOT'] to do this!

                
                $file_path     = '.\wijnwinkel\images\shop\n_'.$new_file_name;

                if (move_uploaded_file($_FILES['userfile']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].$file_path))
                {

                    echo "Toevoegen is succesvol verlopen!<br /><br />\n";
                    echo 'De afbeelding: '.$_FILES['userfile']['name'].' ('.$_FILES['userfile']['size'].") Bytes is toegevoegd<br /><br />\n";
                    //echo "Renamed: $new_file_name<br />\n";
                    echo "Klik <a href='brengweg.php' target='_self'>hier</a> om nog een foto toe te voegen<br /><br />\n";
                    echo "<a href='javascript:window.close()'>Venster sluiten</a><br /><br />\n";                }
                else
                {
                    echo 'Toevoegen heeft gefaald: Mogelijk bent u niet gemachtigd om bestanden toe te voegen.';
                }
            }

            else
            {
                echo 'Toevoegen heeft gefaald: afbeeldingen mogen niet qua bestandsgrootte niet groter zijn dan 40kb. en dienen van het .JPG formaat te zijn';
            }
        }

        else
        {
            echo 'Toevoegen heeft gefaald: Er is geen geldig bestand toegevoegd';
        }
    }


        echo "    </body>\n",
             "</html>";
?>



Nu wil ik dat ik de locatie van het bestand ingevoerd wordt in de mysql tabel images die ik gemaakt heb:

Velden van de tabel:

img_id
pad.

Ik heb geprobeerd om een $query in te voegen nadat de kopieeropdracht uitgevoerd is maar hierdoor gaat mijn hele script op de loop en krijg ik een lawine aan fouten die ik met mijn kennis nog niet kan debuggen.

Kan iemand mij helpen om een sql-query in bovenstaande code op te nemen?

Ohja: ik gebruik een include met hierin
$host=**
$user**
$password
$DBname
$link=mysql_connect($host,$user,$password);

dus ik neem aan dat ik dit kan gebruiken om de connectie op te zetten?

Mijn dank zal groot zijn.

Lostchild
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.