foto's uit database tonen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 volgende »

- Ariën  -
Beheerder

- Ariën -

17/11/2014 15:21:22
Quote Anchor link
En wat als je foutafhandeling inbouwt op je if() van regel 28?
Wat staat er in $_FILES['files']?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "<pre>".print_r($_FILES,1)."</pre>";
?>
 
PHP hulp

PHP hulp

23/11/2024 05:13:22
 
Wouter van

Wouter van

17/11/2014 15:36:57
Quote Anchor link
Dit krijg ik als ik $_Files uitprint.

en hoe bedoel je dat met die foutafhandeling.

Array
(
[files] => Array
(
[name] => Array
(
[0] => IMG_1063.JPG
[1] => IMG_1064.JPG
[2] => IMG_1068.JPG
[3] => IMG_1069.JPG
)

[type] => Array
(
[0] => image/jpeg
[1] => image/jpeg
[2] => image/jpeg
[3] => image/jpeg
)

[tmp_name] => Array
(
[0] => /public/tmp/phphQ5uTv
[1] => /public/tmp/phpqQRq0J
[2] => /public/tmp/phpq70Em3
[3] => /public/tmp/php4GSHRu
)

[error] => Array
(
[0] => 0
[1] => 0
[2] => 0
[3] => 0
)

=> Array
(
[0] => 2309592
[1] => 2305212
[2] => 3540365
[3] => 2729024
)

)

)
 
- Ariën  -
Beheerder

- Ariën -

17/11/2014 15:40:34
Quote Anchor link
Op lijn 32 een else plaatsen, en kijk eens of move_uploaded_file() TRUE of FALSE returned.
Controleer ook je pad eens?
 
Wouter van

Wouter van

17/11/2014 15:54:07
Quote Anchor link
Hoe kan ik dat controleren of hij true of false returned?

Met het pad bedoel je denk ik het mapje waarnaar ik het upload ?

Die heb ik gecontroleerd en moet goed zijn met een ander upload script werkt dat ook prima.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

17/11/2014 16:14:49
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if(move_uploaded_file($tmp_name,$location.$name)){
    echo "move_uploaded_file gaf TRUE";
}
else {
    echo "move_uploaded_file gaf FALSE";
}

?>
Gewijzigd op 17/11/2014 16:15:33 door Frank Nietbelangrijk
 
Wouter van

Wouter van

17/11/2014 16:39:14
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name))
{

    echo "move_uploaded_file gaf TRUE";
}
else {
    echo "move_uploaded_file gaf FALSE";
}

?>


Het resultaat is :

move_uploaded_file gaf TRUE
 
Frank Nietbelangrijk

Frank Nietbelangrijk

17/11/2014 16:48:10
Quote Anchor link
dan worden ze verplaatst.

Wat geeft dit?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if(move_uploaded_file($tmp_name,$location.$name)){
    echo "verplaatst naar: " . $location . $name;
}
else {
    echo "move_uploaded_file gaf FALSE";
}

?>
 
Wouter van

Wouter van

17/11/2014 17:04:45
Quote Anchor link
ik heb onderstaand regel nog een keer toegevoegd onder het upload script en dan upload hij wel...

ik kan in het formulier meerdere foto's tegelijk selecteren om te uploaden maar hij upload er maar 1.

Ik sla $name op in de database "Bestandsnaam" en als ik de foto dan wil uitlezen. dan gebruik ik deze link. en krijg dan 1 foto te zien.

$foto = $row ["Bestandsnaam"];

'http://xxxxx.nl/Uploads/$foto'



deze regel heb ik nog eens toegevoegd

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
                if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name))

?>
Gewijzigd op 17/11/2014 17:05:58 door Wouter van
 
Frank Nietbelangrijk

Frank Nietbelangrijk

17/11/2014 17:11:29
Quote Anchor link
Krijg je ook maar 1 keer "verplaatst naar: " te zien of krijg je dat meerdere keren te zien? Misschien nog even een keer je script posten zodat we nog eens kunnen kijken?
 
Wouter van

Wouter van

17/11/2014 17:16:12
Quote Anchor link
dat heb ik nog niet geprobeerd. dit is het script nu:
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
<?php
$name
=  ($_FILES["files"]["name"]);
$type =   ($_FILES["files"]["type"]);
$size =  ($_FILES["files"]["size"]);
$tmp_name =   ($_FILES["files"]["tmp_name"]);

$valid_formats = array("jpg", "png", "gif", "zip", "bmp");
$max_file_size = 1024*200; //100 kb????????

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

if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
    // Loop $_FILES to exeicute 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 ($_FILES['files']['size'][$f] > $max_file_size) {
                $message[] = "$name is too large!.";
                continue; // Skip large files
            }
            elseif( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) ){
                $message[] = "$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
                
                      
            }
          
        }
    }

    ?>

    
    <?php
                if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name))

?>

- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!


Toevoeging op 17/11/2014 17:18:22:

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
<?php
$name
=  ($_FILES["files"]["name"]);
$type =   ($_FILES["files"]["type"]);
$size =  ($_FILES["files"]["size"]);
$tmp_name =   ($_FILES["files"]["tmp_name"]);

$valid_formats = array("jpg", "png", "gif", "zip", "bmp");
$max_file_size = 1024*200; //100 kb????????

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

if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
    // Loop $_FILES to exeicute 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 ($_FILES['files']['size'][$f] > $max_file_size) {
                $message[] = "$name is too large!.";
                continue; // Skip large files
            }
            elseif( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) ){
                $message[] = "$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
                
                      
            }
          
        }
    }

    ?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
                if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name))

?>
Gewijzigd op 17/11/2014 17:17:56 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

17/11/2014 18:27:23
Quote Anchor link
Volgens mij heb jij geen foutmeldingen aan staan!
Let in onderstaand voorbeeld ook even op hoe het formulier is gemaakt!

Dit voorbeeldje werkt bij mij:
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
<?php
//$name =  ($_FILES["files"]["name"]);
//$type =   ($_FILES["files"]["type"]);
//$size =  ($_FILES["files"]["size"]);
//$tmp_name =   ($_FILES["files"]["tmp_name"]);


$valid_formats = array("jpg", "png", "gif", "zip", "bmp");
$max_file_size = 1024*200; //100 kb????????

$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 ($_FILES['files']['size'][$f] > $max_file_size)
            {

                echo "$name is too large!.";
                continue; // Skip large files
            }
            elseif( ! 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
            }
        }
    }
}

?>

<form action="" method="post" enctype="multipart/form-data">
  Send these files:<br />
  <input name="files[]" type="file" /><br />
  <input name="files[]" type="file" /><br />
  <input name="files[]" type="file" /><br />
  <input name="files[]" type="file" /><br />
  <input type="submit" value="Send files" />
</form>


Toevoeging op 17/11/2014 18:31:48:

zo kan het ook:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
<form action="" method="post" enctype="multipart/form-data">
  Send these files:<br />
  <
input name="files[]" type="file" multiple="multiple" />
  <
input type="submit" value="Send files" />
<
/form>
?>
Gewijzigd op 17/11/2014 18:28:43 door Frank Nietbelangrijk
 
Wouter van

Wouter van

17/11/2014 19:24:52
Quote Anchor link
inderdaad op deze manier werkt het!! Ze worden nu allemaal ge-upload.:)


Ik upload nu 4 foto's tegelijk en dat gaat goed.


is er ook een manier om ze alle 4 dan weer tegelijk in de browser te tonen ?

Hoe zou je dat het beste kunnen doen ?
 
- Ariën  -
Beheerder

- Ariën -

17/11/2014 19:34:28
Quote Anchor link
Vier <img src='filename.jpg' /> HTML-tags.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

17/11/2014 19:54:20
Quote Anchor link
Onthoud goed dat als de browser de HTML heeft deze nog geen foto's heeft.

De browser zal de in de HTML genoemde <img /> tags in aparte requests downloaden.

Heb je deze pagina:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<img src='images/foto.jpg' />


Dan zullen er twee requests gedaan worden.

De eerste haalt de HTML op
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
http://www.example.com/example.html

En de tweede haalt de foto foto.jpg op
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
http://www.example.com/images/foto.jpg
Gewijzigd op 17/11/2014 19:56:33 door Frank Nietbelangrijk
 
Wouter van

Wouter van

17/11/2014 20:00:02
Quote Anchor link
Zou het ook zoiets kunnen worden als een link ?



echo "<td> <a href = '<img src='filename.jpg' /></a></td>";
 
- Ariën  -
Beheerder

- Ariën -

17/11/2014 20:12:23
Quote Anchor link
Bijna... zet in de href de link naar de foto, en de imagetag zet je voor de </a>
 
Wouter van

Wouter van

17/11/2014 20:28:12
Quote Anchor link
$foto = $row ["Bestandsnaam"];



echo "<td> <a href = '<img src= http://www.XXXXXX.nl/Uploads/$foto'>Bekijk</td></a>";

zo bedoel je ?
 
- Ariën  -
Beheerder

- Ariën -

17/11/2014 20:32:16
Quote Anchor link
Je kan niet linken naar een tag, maar naar een URL.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "<td> <a href='http://www.XXXXXX.nl/Uploads/".$foto."'>Bekijk</td></a>";
?>


En als je de image linkbaar wilt maken:

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."' /></td></a>";
?>
Gewijzigd op 17/11/2014 20:37:28 door - Ariën -
 
Wouter van

Wouter van

17/11/2014 22:11:24
Quote Anchor link
echo"<img src='http://www.website.nl/Uploads/".$foto."' /></td></a>";

Ik heb het nu zo en dit werkt prima. alleen vraag ik me nog af hoe je die hoogte een breedte kan instellen.

als ik namelijk na $foto width= "150" height = "150" doe dan werkt dat niet
 
- SanThe -

- SanThe -

17/11/2014 22:48:35
Quote Anchor link
width= "150px" height = "150px"

Beter is CSS gebruiken.
 

Pagina: « vorige 1 2 3 volgende »



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.