Afbeeldings url in database opslaan

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Christiaan de kleine

christiaan de kleine

27/07/2013 14:43:30
Quote Anchor link
Hallo,

Ik zit met het volgende:

Hoe kan ik hetvoor elkaar krijgen als ik een afbeelding upload naar mijn server (via een formulier) dat hij de url naar het plaatje in de database zet.
 
PHP hulp

PHP hulp

02/03/2024 08:32:31
 
- Ariën  -
Beheerder

- Ariën -

27/07/2013 15:03:50
Quote Anchor link
In $_FILES["file"]["name"] staat de bestandsnaam van het geuploadde bestand. Deze relatieve link kan je opslaan in de dataabase.

Absolute links zoals 'http://www.domein.nl/plaatje.png' moet je nooit in de database plaatsen. Mocht je domein ooit veranderen (en zeg nooit dat het nooit gebeurt ;-) ), dan moet je een hoop aanpassen.

Ikzelf hernoem bij een upload met move_uploaded_files() de bestanden naar een timestamp met mktime(). Soms wil je liever niet dat ze makkelijk te raden zijn....
Gewijzigd op 27/07/2013 15:05:12 door - Ariën -
 
Christiaan de kleine

christiaan de kleine

27/07/2013 15:26:48
Quote Anchor link
heb nu dit, alleen hoe krijg ik het voor elkaar om de bestandsnaam aan te passen naar het ingevoerde id in het formulier met daarachter een extra letter. Die letter word hardcoded in de code gezet. dus bijvoorbeeld 1323891116F.jpg

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
echo "Upload: " . $_FILES["file3"]["name"] . "<br>";
    echo "Type: " . $_FILES["file3"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file3"]["size"] / 1024) . " kB<br>";
    echo "Temp file: " . $_FILES["file3"]["tmp_name"] . "<br>";

    if (file_exists("upload/" . $_FILES["file"]["name"])) {
      echo $_FILES["file"]["name"] . " already exists. ";
      } else {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
    }
    
    if (file_exists("upload/" . $_FILES["file2"]["name"])) {
      echo $_FILES["file2"]["name"] . " already exists. ";
      } else {
      move_uploaded_file($_FILES["file2"]["tmp_name"],
      "upload/" . $_FILES["file2"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file2"]["name"];
    }
    
    if (file_exists("upload/" . $_FILES["file3"]["name"])) {
      echo $_FILES["file3"]["name"] . " already exists. ";
      } else {
      move_uploaded_file($_FILES["file3"]["tmp_name"],
      "upload/" . $_FILES["file3"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file3"]["name"];
    }
 
Obelix Idefix

Obelix Idefix

27/07/2013 15:40:15
Quote Anchor link
te snel gereageerd.
Gewijzigd op 27/07/2013 15:41:31 door Obelix Idefix
 
Shamrock Modelbouw

Shamrock Modelbouw

27/07/2013 15:40:22
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . mysql_insert_id() . "F");
Gewijzigd op 27/07/2013 15:47:01 door Shamrock Modelbouw
 
Obelix Idefix

Obelix Idefix

27/07/2013 15:41:02
Quote Anchor link
te snel gereageerd.
 
Christiaan de kleine

christiaan de kleine

27/07/2013 15:42:59
Quote Anchor link
die file3 is omdat ik meerdere file inputs heb, dat werkt prima. Alleen dat mysql_insert_id klopt niet denk ik, die id komt vanuit het formulier zelf wat de user postop dat moment. dus <input type="text" name="p_id">
Die word gestored in de variabele $pid.
 
Shamrock Modelbouw

Shamrock Modelbouw

27/07/2013 15:46:46
Quote Anchor link
dan ipv mysql_insert_id(), $_POST['p_id'] ?
 
Christiaan de kleine

christiaan de kleine

27/07/2013 15:54:54
Quote Anchor link
hij geeft geen extensie meer mee. dit heb ik nu:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
if (file_exists("upload/" . $_FILES["file3"]["name"])) {
      echo $_FILES["file3"]["name"] . " already exists. <br>";
      } else {
      move_uploaded_file($_FILES["file3"]["tmp_name"],
      "upload/" . $_POST['p_id'] . "F");
      echo "Stored in: " . "upload/" . $_POST['p_id'] . "F<br>";
      
    }
 
Shamrock Modelbouw

Shamrock Modelbouw

27/07/2013 15:58:08
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
$path = $_FILES['file3']['name'];
if (file_exists("upload/" . $path)) {
      echo $path . " already exists. <br>";
      } else {

      $ext = pathinfo($path, PATHINFO_EXTENSION);

      move_uploaded_file($path,
      "upload/" . $_POST['p_id'] . "F.".$ext);
      echo "Stored in: " . "upload/" . $_POST['p_id'] . "F.".$ext."<br>";
      
    }


niet getest, maar zoiets zou moeten werken
Gewijzigd op 27/07/2013 15:59:23 door Shamrock Modelbouw
 
Christiaan de kleine

christiaan de kleine

27/07/2013 16:03:09
Quote Anchor link
werkt niet, de afbeelding komt niet in de map te staan.
 
Shamrock Modelbouw

Shamrock Modelbouw

27/07/2013 16:08:09
Quote Anchor link
krijg je een fout? of echood hij Stored in: " . "upload/" . $_POST['p_id'] . "F.".$ext."<br>
 
Christiaan de kleine

christiaan de kleine

27/07/2013 16:09:35
Quote Anchor link
hij echood dat hij wel opgeslagen is idd gewoon met de filename. Maar hij komt niet in de map terecht.
 
Shamrock Modelbouw

Shamrock Modelbouw

27/07/2013 16:11:30
Quote Anchor link
probeer dit eens
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
$path = $_FILES['file3']['name'];
if (file_exists("upload/" . $path)) {
      echo $path . " already exists. <br>";
      } else {

      $ext = pathinfo($path, PATHINFO_EXTENSION);

      if(move_uploaded_file($path,
      "upload/" . $_POST['p_id'] . "F.".$ext))
      {
          echo "Stored in: " . "upload/" . $_POST['p_id'] . "F.".$ext."<br>";
      }
      else
      {
          echo "Fout";
      }      
}
Gewijzigd op 27/07/2013 16:11:46 door Shamrock Modelbouw
 
Christiaan de kleine

christiaan de kleine

27/07/2013 16:15:33
Quote Anchor link
heb hetopgelost op de voglende manier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
$path3 = $_FILES["file3"]["name"];
    if (file_exists("upload/" . $path3)) {
         echo $path3 . " already exists. <br>";
     } else {
        $ext3 = pathinfo($path3, PATHINFO_EXTENSION);
            move_uploaded_file($_FILES["file3"]["tmp_name"],
            "upload/" . $_POST['p_id'] . "F.".$ext3);
            echo "Stored in: " . "upload/" . $_POST['p_id'] . "F.".$ext3."<br>";
      
    }
 



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.