1. #1
    Rizlah's Avatar
    Registered
    28/08/02
    Location
    Zichem
    Posts
    205
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0

    PHP: afbeeldingen uploaden en achteraf uit mysql database oproepen

    Ik zou een pagina willen maken in php waar je een foto kan selecteren dmv een file field. En waar je ook wat tekst kan typen in een standaard text field.

    De afbeelding zou dan naar een gekozen map op de server moeten gekopieerd worden. En dan volgens mij ook op één of andere manier opgeslagen worden in de mysql database (gelijk met de ingevoerde tekst)

    Nu een afbeelding uploaden naar de server lukt. Maar ik snap niet hoe ik die afbeeldingen (met bijhorende tekst) dan kan oproepen op een andere pagina.
    Daarom dacht ik dat er wel een database zoals mysql voor nodig was.

    Een afbeelding uploaden naar de server doe ik met onderstaand script.

    PHP Code:
    <form name="form1" method="post" action="" enctype="multipart/form-data">
      <input type="file" name="imagefile"> 

    <input type="submit" name="Submit" value="Submit">

    <?
    if(isset( $Submit )) 

    if (
    $_FILES['imagefile']['type'] == "image/gif"){ 
    copy ($_FILES['imagefile']['tmp_name'], "temp/".$_FILES['imagefile']['name']) 
        or die (
    "FOUT");  
        echo 
    ""
            echo 
    "NAAM: ".$_FILES['imagefile']['name']."";
            echo 
    "GROOTTE: ".$_FILES['imagefile']['size']."";
            echo 
    "TYPE: ".$_FILES['imagefile']['type']."";
            echo 
    "UPLOAD SUCCESVOL";
            } 
            else { 
                echo 
    ""
                echo 
    "Kan niet uploaden, verkeerde bestandstype (".$_FILES['imagefile']['name'].")"
            } 

    ?> </form>
    :: Mozart TX Game Computer (C2D E6600 @ 3600Mhz) ::
    >>> click here for specs & pics <<<
    no votes  

  2. #2
    Col.Kurtz's Avatar
    Registered
    24/06/04
    Posts
    541
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Wat je eerst doet, is invoegen in de database (auto id + titel)
    daarna sla je de afbeelding op onder met als naam die id (eventueel prefix)
    (zie mysql_insert_id op php.net)

    Als je dan alle images uit je tabel selecteert, komen de id's overeen met de filenames

    Ik zie ook dat je register globals gebruikt -> if ($submit)
    In dit stukje code maakt dat niet veel uit,
    maar gebruik het in de toekomst niet, meer uitleg daarover hier
    http://www.yapf.net/faq.php?cmd=100&itemid=651
    (goeie site trouwens)
    no votes  

  3. #3
    gerto's Avatar
    Registered
    17/07/02
    Location
    A
    Posts
    455
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/2
    idd , via mysql , en gewoon de filename opslaan in de database
    ^^
    no votes  

  4. #4
    GuntherDW's Avatar
    Registered
    17/07/02
    Location
    Burcht
    Posts
    4,063
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    dees heb ik voor iemand gemaakt
    t'is ni bepaald 100% veilig ma t'is enkel langs de adminzijde sow...
    nu ik erop terugkijk heb ik precies vrij excentrieke methodes gebruikt om die spullen te adden
    gah, ik werk normaalgezien ni zo

    PHP Code:
    <?php

    if(!defined('ASH_IN'))
    {
        die(
    'HACKING ATEMPT');
    }

    $a = new ash;


    if(
    $_COOKIE['admin'] != true) {
        
    // echo "error...";
        
    $a->login();
    } else {
        
    include(
    "config.php");
    include(
    "mysql_connect.php");
    if(
    $_GET['listallimages'] != 1) {
        
        
    $name addslashes($_POST['name']);
        
    $make addslashes($_POST['make']);
        
    $model addslashes($_POST['model']);
        
    $specs addslashes($_POST['specs']);
        
    $comment addslashes($_POST['comment']);
        
        
        if(isset(
    $name)) {
            
            if(
    is_file("./images/".$_FILES['file']['name'])) {
            echo 
    "File already exists... please take another filename...<br />";
            }
            else {
                if(
    $_GET['go'] == 1) {
                
    $sql1 "INSERT INTO `cars` (`name`,`make`,`model`,`specs`,`comment`) VALUES ('".$name."','".$make."','".$model."','".$specs."','".$comment."')";
                if(@!
    mysql_query($sql1)){ 
                    die(
    "<br /> Error... : ".mysql_error());
                }
                
    $sqlquery "INSERT INTO `images` (`pid`,`name`,`file`) VALUES ('".mysql_insert_id()."','".$name."', '".$_FILES['file']['name']."')";
                if(@!
    mysql_query($sqlquery)){ 
                    die(
    "<br /> Error... : ".mysql_error());
                }
                else {
                    if(@
    move_uploaded_file($_FILES['file']['tmp_name'], "./images/".$_FILES['file']['name'])) {
                        echo 
    "Successfull!<br /><br />";
                }
                
    // print "<pre>";print_r($_FILES);print "</pre>"; 
                // echo "name : ".$name;
                // echo "<br /><img src=\"images/".$_FILES['file']['name']."\" />\n";
                // echo "<br /><br /> You can now access this file @ <a href=\"http://".$_SERVER["SERVER_NAME"].$path."images/"
                // .$_FILES['file']['name']."\">".$_SERVER["SERVER_NAME"].$path."images/".$_FILES['file']['name']."</a><br />";
                
    }
                }
            }
        }

    ?>
    <form action="index.php?page=admin&go=1" method="post" enctype="multipart/form-data">
    name : <br /><input type="text" name="name" /><br />
    make : <br /><input type="text" name="make" /><br />
    model : <br /><input type="text" name="model" /><br />
    specs : <br /><textarea cols="70" rows="10" wrap="virtual" name="specs"></textarea><br />
    comment : <br /><textarea cols="70" rows="10" wrap="virtual" name="comment"></textarea><br />
    file : <br /><input type="file" name="file" /><br />
    Maximum 8 MB!<br />
    <input type="submit" value="upload!" />
    </form>
    <br /><a href="index.php?page=admin&listallimages=1">List all images!</a><br />
    <a href="checklogin.php?logout=1">Log out!</a><br /><br />
    <?php echo $path;
    } else { 
    ?>
    <a href="index.php?page=admin">Upload images</a><br /><br /><br />
    <?php
    $result 
    mysql_query("SELECT `id`,`name`,`file`"
                         
    ." FROM `images` ORDER BY `id` DESC")
                         or die(
    "Could not get contents, ".mysql_error());
                         
    while (
    $row mysql_fetch_array($result)) {
        
        echo 
    "id : #".$row['id']." - name : ".$row['name']."<br />"
        
    ."Image : <img src=\"images/".$row['file']."\" /><br /><br /><hr /><br />\n";
        
    mysql_free_result($result);
    }
    ?>
    & config.php
    waarom ik die str_replace's heb gebruikt wetek ni, ik kon gewoon evengoe dirname(__FILE__) doen

    PHP Code:
    <?php 
    // Config.php
    // last touched : 23.10.2004


    // nothing to put here yet...

    $sqlhost "127.0.0.1";        # SQL host, just leave it :)
    $sqluser "...";            # SQL username
    $sqlpass "...";        # SQL password
    $sqldb   "ash";            # SQL database, just keep it like this
    // $path    = "/a5h/"         # the path of the script (used for uploading script (WITH TRAILING '/' !!)
    // no longer used...

    /* DON'T TOUCH! */
    $path str_replace("addcar.php"""__FILE__);
    $path str_replace("config.php"""__FILE__);
    /* DON'T TOUCH */
    ?>
    Last edited by GuntherDW; 10-02-2005 at 03:22.
    [ Deskie ] || [ AniDB Mylist ]
    You installed K-Lite codec pack? - CCCP
    23 october 2007 : The day music died
    no votes  

  5. #5
    BART_SIMPSON416's Avatar
    Registered
    06/10/03
    Posts
    682
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Er in krijgen is meestal niet het probleem.
    Er uit wel
    no votes  

Posting Permissions

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

Log in

Log in