image invoegen in mijn mysql database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Webmaster Robbe

Webmaster Robbe

16/03/2014 17:55:35
Quote Anchor link
Hoi,
Weer een vraagje!
Hoe kan ik een image toevoegen aan mijn mysql database, en die daar dan in opslagen?
vb: Je uploadt een foto over de eifel toren en die foto moet dan worden opgeslagen in een mysql database...
Ik heb al een record in mijn database gemaakt.

Quote:
img varchar(255) latin1_swedish_ci


Nu is mijn vraag, HOE moet ik een image uploaden naar mijn database, en hoe kan ik hem dan laten zien op mijn website?

Alvast Bedankt!
- Robbe
 
PHP hulp

PHP hulp

19/04/2024 02:51:32
 
Nick kuijpers

nick kuijpers

16/03/2014 17:58:19
Quote Anchor link
Volgensmij moet je je image uploaden naar je ftp als het ware en dan de link in de database zetten...
 
Webmaster Robbe

Webmaster Robbe

16/03/2014 18:00:17
Quote Anchor link
Maar het zijn andere mensen die dat dit moeten kunnen doen :)
Die hebben geen toegang tot de server. Het moet echt vanop de website zelf allemaal gebeuren.

- Robbe
 
Nick kuijpers

nick kuijpers

16/03/2014 18:16:30
Quote Anchor link
Dat snap ik, je maakt een script die een plaatje upload en dan zet je de url er van in de db doormiddel van een insert

Toevoeging op 16/03/2014 18:21:56:

http://phptuts.nl/view/12/ -> een voorbeeldje van een upload script en dan doe je simpel weg INSERT INTO ....(url) VALUE($_FILES["file"]["name"]) dan krijg je iets zoals 00.jpg in de db en als je het eruit wil halen doe je
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php file2 = mysqli_query($con, "SELECT url FROM ... WHERE id="..."");
$file = mysqli_fetch_array($file2, MYSQLI_BOTH); ?>

<img src="images/".$file['url'].""/>
Gewijzigd op 16/03/2014 18:27:30 door nick kuijpers
 
Webmaster Robbe

Webmaster Robbe

16/03/2014 18:21:58
Quote Anchor link
Owkej :)
En kun je mij beetje op weg zetten?
 
Nick kuijpers

nick kuijpers

16/03/2014 18:28:00
Quote Anchor link
Is dat boven je op weg helpen of mooet ik iets duidelijker zijn ;p zoja in wat
 
Webmaster Robbe

Webmaster Robbe

16/03/2014 18:32:30
Quote Anchor link
oke die url in SELECET url FROM --> daar moet ik toch de naam van het record geven? img ?

Bij <img src="images/ ....." die images dat moet toch de map zijn, waar alle foto's op de ftp server moeten worden opgeslagen eh?
 
Nick kuijpers

nick kuijpers

16/03/2014 18:39:06
Quote Anchor link
Ha ,
Vraag 1: jup vraag 2: inderdaad!
En om je opweg te helpen in mijn oude scripten vond ik nog zo'n upload bestandje ik teste hem even ik kreeg een eregi fout maar voor de rest deed alles het
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
<?php
session_start();
 $con = mysqli_connect('localhost', 'db_naam','db_ww', 'db');
if(mysqli_connect_errno())
{

echo "Failed to connect to Mysql: ".mysqli_connect_error();
}

}
?>


<?php  if(!empty($_POST['upload'])){
$locatie="images/pictures/"; //of een andere map, vergeet niet de w-rechten
   if(is_uploaded_file($_FILES['afbeelding']['tmp_name']))
   {

        //controleer grootte
        if($_FILES['afbeelding']['size']>3221225472)
                   {
//bepaal zelf de max. grootte in bytes
                   echo "Het bestand is te groot";
                   exit;
                   }


        if(!move_uploaded_file($_FILES['afbeelding']['tmp_name'],
                               $locatie.$_FILES['afbeelding']['name']))

                  {

                  echo" het bestand kan niet worden verplaatst";
                  exit;
                  }

  $toevoegen ='INSERT INTO `foto`(`img`, `soort`) VALUES ('.$_FILES['afbeelding']['name'].', '.$_FILES['afbeelding']['type'].')';
  $add = mysql_query($toevoegen);
                  echo "Uw bestand ".$_FILES['afbeelding']['name']." is geupload<br /><br /><img src='images/pictures/".$_FILES['afbeelding']['name']."' align='left'>Url: <input type='text' value='domein.nl/images/pictures/".$_FILES['afbeelding']['name']."'>";
   }

    
   else
   {
   echo "Het uploaden is mislukt";
   }
    

}

else{
?>

     <form method="post" action="" enctype="multipart/form-data">
     <!--Bepaal zelf de maximale grootte in bytes -->
     Hier kun je een afbeelding uploaden->maximaal 3 mb groot!
     <input type="file" name="afbeelding"><br>
     <input type="submit" name="upload" value="Upload!">
     </form>
<?php
     }
?>
            

Hoop dat je iets hebt en leert aan dit oude script ;) de eregi fout kan ik nu niet oplossen
 
Webmaster Robbe

Webmaster Robbe

16/03/2014 18:42:06
Quote Anchor link
oke thx,
Ik zal hem vanavond of morgen eens bekijken :)

Toevoeging op 16/03/2014 19:07:50:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php file2 = mysqli_query($con, "SELECT url FROM ... WHERE id="..."");
$file = mysqli_fetch_array($file2, MYSQLI_BOTH); ?>

<img src="images/".$file['url'].""/>


--> Bij de
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php file2 = ...

Moet er geen $ voor de file2 komen?
 
Pipo Clown

Pipo Clown

16/03/2014 20:10:09
Quote Anchor link
Wanneer ik het goed begrijp wordt op deze manier de foto ge-upload naar de server (niet naar de database) en de url van de foto in de database geplaatst.

De vraag was dacht ik om de foto zelf in de database te plaatsen, ik denk dat je dan al moet beginnen met het datatype blob i.p.v. met varchar255
 
Webmaster Robbe

Webmaster Robbe

16/03/2014 20:13:47
Quote Anchor link
Wel, als de de image inde server komt te staan, en de url in database is dat voor mij ook goed :)
Dan kan ik nog per user de url aanpassen :)
Dat is het belangrijkste
 
Stefan WM

Stefan WM

17/03/2014 10:03:40
Quote Anchor link
Webmaster Robbe op 16/03/2014 18:42:06:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php file2 = mysqli_query($con, "SELECT url FROM ... WHERE id="..."");
$file = mysqli_fetch_array($file2, MYSQLI_BOTH); ?>

<img src="images/".$file['url'].""/>



Dit gaat sowieso nooit werken je roept $file['url'] buiten de PHP aan daarnaast snap ik niet waar images/ niet is opgenomen in $file['url'].

Het is het beste om de afbeelding inderdaad op de FTP te zetten. In de MySQL database kan wel maar is niet aan te raden.
 
Mathieu Posthumus

Mathieu Posthumus

17/03/2014 11:20:39
Quote Anchor link
Ik ben zelf ook bezig met een script waar je een foto moet uploaden en werkt bij gewoon super...

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
        $uploadlogo = '/xampp/htdocs/hotel/images/upload/logos/';
        $uploadfilelogodir = $uploadlogo . basename($_FILES['logo']['name']);
        $logodir = move_uploaded_file($_FILES['logo']['tmp_name'], $uploadfilelogodir);

        $uploadfilelogo = basename($_FILES['logo']['name']);
        $logo = move_uploaded_file($_FILES['logo']['tmp_name'], $uploadfilelogo);

        $uploadimages = '/xampp/htdocs/hotel/images/upload/images/';
        $uploadfileimagesdir = $uploadimages . basename($_FILES['picture']['name']);
        $picturedir = move_uploaded_file($_FILES['picture']['tmp_name'], $uploadfileimagesdir);


        $uploadfileimages = basename($_FILES['picture']['name']);
        $picture = move_uploaded_file($_FILES['picture']['tmp_name'], $uploadfileimages);


En dan moet je daarna de variable $uploadfileimages opslaan in de database dat is dan zeg maar de naam...
En dan voor het aanvragen moet je dus nog wel de hele path aanvragen.
Gewijzigd op 17/03/2014 11:43:50 door Mathieu Posthumus
 
- Ariën  -
Beheerder

- Ariën -

17/03/2014 12:55:24
Quote Anchor link
En de foutafhandeling moet ook niet worden vergeten op de variabelen van: move_uploaded_file(). Als het fout gaat (rechten niet goed, tmpmap vol etc..) dan moet je dat de gebruiker wel laten weten.

In $_FILES['picture']['error'] staat dan een ErrorID vermeld.
 
Webmaster Robbe

Webmaster Robbe

17/03/2014 17:00:14
Quote Anchor link
Mathieu Posthumus op 17/03/2014 11:20:39:
Ik ben zelf ook bezig met een script waar je een foto moet uploaden en werkt bij gewoon super...

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
        $uploadlogo = '/xampp/htdocs/hotel/images/upload/logos/';
        $uploadfilelogodir = $uploadlogo . basename($_FILES['logo']['name']);
        $logodir = move_uploaded_file($_FILES['logo']['tmp_name'], $uploadfilelogodir);

        $uploadfilelogo = basename($_FILES['logo']['name']);
        $logo = move_uploaded_file($_FILES['logo']['tmp_name'], $uploadfilelogo);

        $uploadimages = '/xampp/htdocs/hotel/images/upload/images/';
        $uploadfileimagesdir = $uploadimages . basename($_FILES['picture']['name']);
        $picturedir = move_uploaded_file($_FILES['picture']['tmp_name'], $uploadfileimagesdir);


        $uploadfileimages = basename($_FILES['picture']['name']);
        $picture = move_uploaded_file($_FILES['picture']['tmp_name'], $uploadfileimages);


En dan moet je daarna de variable $uploadfileimages opslaan in de database dat is dan zeg maar de naam...
En dan voor het aanvragen moet je dus nog wel de hele path aanvragen.




Bedankt!
Ik ga als ik klaar ben met school, eens naar dit scriptje kijken!
--> Zal nog laten weten of het gelukt is!

- Robbe
 



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.