foto's uit database tonen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3

- Ariën  -
Beheerder

- Ariën -

18/11/2014 00:22:08
Quote Anchor link
Huh, de px-suffix gebruik je alleen in CSS, niet in HTML:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<img width="448" height="336" border="1" alt="Mijn hamster!" src="hamster1.jpg" />


Dus het wordt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "<td><a href ='http://www.XXXXXX.nl/fotoboek.php'><img src='http://www.XXXXXX.nl/Uploads/".$foto."' width='150' height='150' /></td></a>";
?>

Maar zoals SanThe al zei, dit kan je beter in CSS doen, en de hoogte in een class of ID bepalen, zodat het e.v.t. voor meerdere images kan gelden.
 
PHP hulp

PHP hulp

23/11/2024 05:43:47
 
- SanThe -

- SanThe -

18/11/2014 00:29:43
Quote Anchor link
- Aar - op 18/11/2014 00:22:08:
Huh, de px-suffix gebruik je alleen in CSS, niet in HTML:


Zo zie je maar weer.
Ik gebruik het zelf dus nooit op die manier.
 
Wouter van

Wouter van

18/11/2014 13:43:46
Quote Anchor link
Oke, ik heb het nu eindelijk voor elkaar en het werkt mooi!.

Alleen vraag ik mij nog af hoe ik de verschillende bestandsnamen kan opslaan in de database als ik drie foto's tegelijk upload
Dan wil ik graag drie verschillende bestandsnamen van die foto's opslaan.


Ik sla nu namelijk $name op als bestandsnaam in de DB. maar dat is dan van 1 foto. en ik heb ze natuurlijk alle 3 nodig.

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
<?php

$name
=  ($_FILES["files"]["name"]);
$type =   ($_FILES["files"]["type"]);
$size =  ($_FILES["files"]["size"]);
$tmp_name =   ($_FILES["files"]["tmp_name"]);

$valid_formats = array("JPG","jpg", "png", "gif", "zip", "bmp");

$path = 'Uploads/'; // Upload directory
$count = 0;

if($_SERVER['REQUEST_METHOD'] == "POST")
{

    // Loop $_FILES to execute all files
    foreach ($_FILES['files']['name'] as $f => $name)
    {
    
        if ($_FILES['files']['error'][$f] == 4)
        {

            continue; // Skip file if any error found
        }          
        if ($_FILES['files']['error'][$f] == 0)
        {
              
           if( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) )
            {

                echo "$name is not a valid format";
                continue; // Skip invalid file formats
            }
            else
            { // No error found! Move uploaded files
                if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name))
                    $count++; // Number of successfully uploaded file
            }
        }
    }
}


?>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

18/11/2014 14:14:26
Quote Anchor link
Wouter ga eerst eens de foutmeldingen aanzetten. Want het script dat je nu wederom vertoond geeft zeker meldingen terug. (regel 3 tm 6)
 
Wouter van

Wouter van

18/11/2014 14:18:58
Quote Anchor link
error_reporting(E_ALL); bedoel je dit <<

Dat staat aan dit is namelijk niet het hele script
 
- Ariën  -
Beheerder

- Ariën -

18/11/2014 15:53:25
Quote Anchor link
Je wilt die drie bestandnamen uiteindelijk tonen in je script, om de foto's te laten zien, nadat ze geupload zijn?

In dat geval kan je de namen uit $name steeds opslaan in een array.
Boven je foreach() van lijn 16 zet je neer:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$filenames = array();

Dan heb je de array geinitialiseerd.

Vervolgens gaan we na lijn 31, steeds de geuploadde bestandsnaam opslaan in de array:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$filenames[] = $name;


Dan heb je uiteindelijk een array in $filenames met alle bestandsnamen van de geuploadde bestanden.
 
Wouter van

Wouter van

18/11/2014 16:22:37
Quote Anchor link
Ja ik heb die namen inderdaad nodig om de foto's te tonen.

maar die gegevens zitten nu een array, hoe kan ik er nou voor zorgen dat ik die gegevens daar weer uithaal zodat ik drie verschillende variabelen kan maken voor een insert statement ??
 
Frank Nietbelangrijk

Frank Nietbelangrijk

18/11/2014 17:05:32
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
foreach($array as $item)
    echo $item . '<br>';
?>


Als je serieus met PHP (of welke taal dan ook eigenlijk) aan de slag wilt dan moet je zeker goed overweg kunnen met arrays: http://www.phptuts.nl/view/39/6/

Error reporting gaat gegarandeerd aan met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
?>
Gewijzigd op 18/11/2014 17:06:29 door Frank Nietbelangrijk
 
- Ariën  -
Beheerder

- Ariën -

18/11/2014 18:46:38
Quote Anchor link
Je kan ze foto's ook per stuk oproepen zonder een foreach-lus, met in gedachte houdend dat PHP vanaf 0 begint met tellen.
Dus je kan de derde foto met $filenames[2]; ook echo'en.
 
Wouter van

Wouter van

18/11/2014 21:37:26
Quote Anchor link
Het is gelukt! iedereen bedankt voor de moeite.

Toevoeging op 19/11/2014 19:46:20:

Ik heb nog een vraag mbt dit topic.

Ik zou graag ook nog wat restricties toe willen voegen aan mijn uploadscript. filetype & filesize.

Nomraal zou ik dit kunnen doen met bijvoorbeeld.

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
<?php

$name
=  ($_FILES["files"]["name"]);
$type =   ($_FILES["files"]["type"]);
$size =  ($_FILES["files"]["size"]);
$tmp_name =   ($_FILES["files"]["tmp_name"]);

if(($type == 'jpg' || $type == 'jpeg')){

//code om de file te uploaden.

}else{

echo "Dit bestand is niet toegestaan";}

?>


Maar dit kan nu niet omdat de gegevens een array staan omdat er meerdere foto's tegelijk ge-upload worden.

hoe zou ik dit kunnen doen zodat alle foto's gecontroleerd worden op type en size ?

Heeft iemand hier een voorbeeldje van of een goede tip ?.
 

Pagina: « vorige 1 2 3



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.