Pdf in beeld brengen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Ed Jeurissen

Ed Jeurissen

23/05/2022 00:09:12
Quote Anchor link
Hallo waar ik wel achter ben is dat het $newImageName wel aangemaakt wordt maar nergens wordt opgeslagen. Komt daardoor ook niet in beeld. Ik kan ze op mijn harde schijf ook nergens vinden. Alleen een verwijzing in de database!
 
PHP hulp

PHP hulp

27/06/2022 17:24:31
 
- Ariën  -
Beheerder

- Ariën -

23/05/2022 00:12:23
Quote Anchor link
Geef in $newImageName eens een volledig pad mee met $_SERVER['DOCUMENT_ROOT']

Zorg ook hier voor goede foutafhandeling!
https://www.php.net/manual/en/features.file-upload.errors.php
 
Adoptive Solution

Adoptive Solution

23/05/2022 09:06:06
Quote Anchor link
Als je geen padnaam gebruikt tijdens het bewaren, verdwijnt het bestand naar nergens.

Wil je het bestand in dezelfde directory bewaren als het php bestand, doe dan dit :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
move_uploaded_file($_FILES['uploaded_file']['tmp_name'], getcwd(). '/' . $_FILES['uploaded_file']['name']);


En misschien ongebruikelijk, kan je een pdf bestand tonen met een <img>.
 
- Ariën  -
Beheerder

- Ariën -

23/05/2022 11:33:19
Quote Anchor link
Nooit geweten dat een pdf ook in een img-tag werkt.
het lijkt me ongewenst, als je dit doet met een goed gevulde zware PDF's met high DPI afbeeldingen.
Zo trek je in no-time even iemand internetbundel leeg.
 
Ed Jeurissen

Ed Jeurissen

23/05/2022 14:10:42
Quote Anchor link
Dit komt er uit Arien:

C:/USB WebServer/root

Als ik daar in kijk staan daar geen foto's of was dat niet je bedoeling?

Toevoeging op 23/05/2022 14:21:55:

Als ik de regel van Appoptive er tussen zet dan krijg ik de volgende foutmelding:

Notice: Undefined index: uploaded_file in C:\USB WebServer\root\Website\Fontys\HDM\Bedrijfskunde\Groepsdynamica\index.php on line 44

Notice: Undefined index: uploaded_file in C:\USB WebServer\root\Website\Fontys\HDM\Bedrijfskunde\Groepsdynamica\index.php on line 44
 
- Ariën  -
Beheerder

- Ariën -

23/05/2022 14:24:01
Quote Anchor link
Pas dit eens aan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
move_uploaded_file($_FILES['uploaded_file']['tmp_name'], getcwd(). '/' . $_FILES['uploaded_file']['name']);


naar dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
if (move_uploaded_file($_FILES['uploaded_file']['tmp_name'], getcwd(). '/' . $_FILES['uploaded_file']['name'])) {
    echo "The file ". htmlspecialchars( basename( $_FILES["uploaded_file"]["name"])). " has been uploaded.";
  } else {
    echo "Sorry, there was an error uploading your file: ".$_FILES['uploaded_file']['error'];
  }


Foutafhandeling wil je immers ALTIJD hebben.
Let ook op de name van je upload-element van je formulier.
Gewijzigd op 23/05/2022 14:25:31 door - Ariën -
 
Ed Jeurissen

Ed Jeurissen

23/05/2022 15:06:56
Quote Anchor link
Hallo,

Dan komt met de volgende foutmelding.

Notice: Undefined index: uploaded_file in C:\USB WebServer\root\Website\Fontys\HDM\Bedrijfskunde\Groepsdynamica\index.php on line 44

Notice: Undefined index: uploaded_file in C:\USB WebServer\root\Website\Fontys\HDM\Bedrijfskunde\Groepsdynamica\index.php on line 44

Notice: Undefined index: uploaded_file in C:\USB WebServer\root\Website\Fontys\HDM\Bedrijfskunde\Groepsdynamica\index.php on line 50
Sorry, there was an error uploading your file:

uploded_file kent ie niet?

Undefined index
 
- Ariën  -
Beheerder

- Ariën -

23/05/2022 15:13:13
Quote Anchor link
Heb je al gekeken naar hoe je upload-element in je HTML heet? ;-)
 
Adoptive Solution

Adoptive Solution

23/05/2022 15:17:33
Quote Anchor link
Als ie uploaded_file niet kent, gebruik dan de naam van je eigen file input : image
 
Ed Jeurissen

Ed Jeurissen

23/05/2022 15:23:39
Quote Anchor link
DE code tot nog toe:

index.php
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php

require 'connection.php';
if(isset($_POST["submit"]))
{

    $name = $_POST["name"];
    if(isset($_POST["submit"]))
        $name = $_POST["name"];
        if($_FILES["image"]["error"] === 4)
        {

            echo
            "<srcipt> alert('Image Does Not Exist'); </script>";
            ;
        }

        else
        {
            $fileName = $_FILES["image"]["name"];
            //echo $fileName;
            $fileSize = $_FILES["image"]["size"];
            $tmpName = $_FILES["image"]["tmp_name"];
            //echo $tmpName;

            $validImageExtension = ['jpg','jpeg', 'png', 'pdf'];
            $imageExtension = explode('.', $fileName);
            $imageExtension = strtolower(end($imageExtension));
            if(!in_array($imageExtension, $validImageExtension))
            {

                //print_r($imageExtension);
                //print_r($validImageExtension);


                echo "<srcipt> alert('Invalid Image Extension'); </script>";
            }

            else if($fileSize > 10000000)
            {

                echo "<srcipt> alert('Image Size is too large'); </script>";
            }

                else
                {
                $newImageName = uniqid();
                //echo  $newImageName;
                $newImageName .= '.'. $imageExtension;
                }


       if (move_uploaded_file($_FILES['uploaded_file']['tmp_name'], getcwd(). '/' . $_FILES['uploaded_file']['name']))
       {

        echo "The file ". htmlspecialchars( basename( $_FILES["uploaded_file"]["name"])). " has been uploaded.";
       }

        else
        {
        echo "Sorry, there was an error uploading your file: ".$_FILES['uploaded_file']['error'];
        }

        $query = "INSERT INTO tb_upload VALUES ('','$name', '$newImageName')";
       // echo $query;
        mysqli_query($conn, $query);
        
        "<srcipt> alert('Succesfully Added'); document.location.href = 'data.php';
        </script>"
;

        }
 
    }



?>



<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Upload Image File</title>
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    </head>

    <body>
        <form class = "" action = ""method ="post" autocomplete = "off" enctype ="multipart/form-data">
            <label for = "name">Name: </label>
            <input type = text name = "name" id = "name" required value = ""> <br>
            <label for = "image">Image: </label>
            <input type = "file" name = "image" id = "image" accept = ".jpg, .jpeg, .png, .pdf" value =""><br><br>
            <button type = "submit" name = "submit">Submit</button>
        </form>
        <br>
        <a href = "data.php">Data</a>
    </body>
</html>


data.php
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
<?php require 'connection.php'; ?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Data</title>
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    </head>

    <body>

        <table borader = 1 cellspacing = 0 cellpadding = 10>
            <tr>
                <td>#</td>
                <td>Name</td>
                <td>Image</td>
            </tr>
        <?php

        $i
= 1;
        $rows = mysqli_query($conn, "SELECT * FROM tb_upload ORDER BY id ASC");

        //print_r($rows);
        //$test = mysqli_fetch_assoc($rows);
        //print_r($test);

        ?>


        <?php foreach($rows as $row) : ?>
            <tr>
                <td><?php echo $i++ ?></td>
                <td><?php echo $row["name"]?></td>
                <td><img src ="<?php echo $row["uploaded_file"]; ?>" alt=""></td>
            </tr>
        <?php endforeach; ?>

    </table>

    <a href = "index.php">Index</a>
    </body>
</html>


@ Arien: Het gaat toch al in de index.php mis?
 
- Ariën  -
Beheerder

- Ariën -

23/05/2022 15:32:29
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type = "file" name = "image" id = "image" accept = ".jpg, .jpeg, .png, .pdf" value =""><br><br>


Zie de name 'image', en hier is het $_FILES['uploaded_file']['tmp_name'] 'uploaded_file'.
Even gelijk trekken en klaar.

Nog even een ding: Je hebt nog steeds geen mysqli_fetch_assoc toegepast.
Dus je krijgt nog steeds niet je juiste data in je foreach. Enkel wat interne velden die de eigenschappen van de query beschrijven waar je weinig aan hebt.

Bij mij komt dit uit een print_r() op je mysqli_query:
Quote:
mysqli_result Object ( [current_field] => 0 [field_count] => 3 [lengths] => [num_rows] => 13 [type] => 0 )


Dit kan wel doorlopen worden door foreach of een while(), maar het is niet je data die je wilt gebruiken. Dat verklaart ook waarom je geen afbeeldingen ziet.
Gewijzigd op 23/05/2022 15:49:01 door - Ariën -
 
Adoptive Solution

Adoptive Solution

23/05/2022 15:52:55
Quote Anchor link
Heb de boel wat opgekalefaterd.
Het toevoegen aan de database heb ik eruit gelaten.
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php

//require 'connection.php';
if( isset( $_POST["submit"] ) )
{

    $name = $_POST["name"];
    if( $_FILES["image"]["error"] === 4 )
    {

        echo "<srcipt> alert('Image Does Not Exist'); </script>";
    }
else {
        $fileName = $_FILES["image"]["name"];
        echo $fileName . '<br />';
        $fileSize = $_FILES["image"]["size"];
        $tmpName = $_FILES["image"]["tmp_name"];
        echo $tmpNamev. '<br />';
        $validImageExtension = ['jpg','jpeg', 'png', 'pdf'];
        $imageExtension = explode('.', $fileName);
        $imageExtension = strtolower(end($imageExtension));

        if( !in_array( $imageExtension, $validImageExtension ) )
        {

            //print_r($imageExtension);
            //print_r($validImageExtension);

            echo "<srcipt> alert('Invalid Image Extension'); </script>";
        }
else if( $fileSize > 10000000 ) {
            echo "<srcipt> alert('Image Size is too large'); </script>";
        }
else {
            $newImageName = uniqid();
            //echo  $newImageName;
            $newImageName .= '.'. $imageExtension;

            if ( move_uploaded_file($_FILES['image']['tmp_name'], getcwd(). '/' . $newImageName ) )
            {

                echo "The file ". htmlspecialchars( basename( $_FILES["image"]["name"])). " has been uploaded.";
                $query = "INSERT INTO tb_upload VALUES ('','$name', '$newImageName')";
                echo '<p>' . $query . '</p>';
                //mysqli_query($conn, $query);
                echo '<p><img src="' . $newImageName . '" style="width: 300px;" /></p>';
                //"<srcipt> alert('Succesfully Added'); document.location.href = 'data.php';
                //</script>";


            } else {
                echo "Sorry, there was an error uploading your file: ".$_FILES['uploaded_file']['error'];
            }
        }
    }
}


?>


<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Upload Image File</title>
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    </head>

    <body>
        <form class = "" action = ""method ="post" autocomplete = "off" enctype ="multipart/form-data">
            <label for = "name">Name: </label>
            <input type = text name = "name" id = "name" required value = ""> <br>
            <label for = "image">Image: </label>
            <input type = "file" name = "image" id = "image" accept = ".jpg, .jpeg, .png, .pdf" value =""><br><br>
            <button type = "submit" name = "submit">Submit</button>
        </form>
        <br>
        <a href = "data.php">Data</a>
    </body>
</htm>
 
- Ariën  -
Beheerder

- Ariën -

23/05/2022 15:53:29
Quote Anchor link
Oké. En nu?
Werkt het nu?

Heb je ook gelezen wat ik zei over je query?
Gewijzigd op 23/05/2022 15:54:51 door - Ariën -
 
Ed Jeurissen

Ed Jeurissen

23/05/2022 16:21:51
Quote Anchor link
Nog niet, Dan ontstaan de volgende foutmeldingen.

Notice: Undefined variable: tmpNamev in C:\USB WebServer\root\Website\Fontys\HDM\Bedrijfskunde\Groepsdynamica\index.php on line 15


Notice: Undefined index: uploaded_file in C:\USB WebServer\root\Website\Fontys\HDM\Bedrijfskunde\Groepsdynamica\index.php on line 43
Sorry, there was an error uploading your file:

@ Arien mysqli_fetch_assoc heb ik nog niet gedaan. Dat gaat me gewoon boven de pet!!
 
- Ariën  -
Beheerder

- Ariën -

23/05/2022 16:38:35
Quote Anchor link
Als dat boven je pet gaat, wordt het dan niet serieus tijd om eens de SQL Boilerplate te bekijken, en deze op te slaan onder je bookmarks/favorieten?

Er staat duidelijke uitleg in over hoe je het moet opbouwen. Dus als je dit voortaan eens aan als leidraad aanhoudt, dan maakt dit het programmeren echt zo fijner omdat je een hoop foutafhandelingen en controles hebt waaraan je bij fouten direct kan zien waar een bepaald probleem zit.

En verder hebben we: 'Notice: Undefined index: uploaded_file' al besproken.
Dus lees in het vervolg je errors eens, en wees bewust met wat je doet. En dus niet meteen copy/paste op het forum plaatsen, maar aandachtig bekijken.

Gebruik ook een goede editor, die bieden ook vaak handige tools en truukjes om je code op orde te houden. Welke gebruik je nu?
Gewijzigd op 23/05/2022 16:39:29 door - Ariën -
 
Ed Jeurissen

Ed Jeurissen

23/05/2022 16:39:35
Quote Anchor link
Visual Studio Code
 
- Ariën  -
Beheerder

- Ariën -

23/05/2022 16:49:21
Quote Anchor link
Ed, ik hoop van harte dat je wat met onze tips doet. Want dit topic begint een beetje uit te monden in een topic waarin veel energie er in wordt gestoken door ons, terwijl wij weinig terugzien aan constructieve reacties terug. Enkel maar losse zinnen waar we weinig aan hebben, of fouten die herhaaldelijk terugkeren.

Probeer zo uitgebreid mogelijk te reageren en alle aangegeven tips nogmaals in dit topic door te lezen en toe te passen.
 
Ozzie PHP

Ozzie PHP

24/05/2022 01:27:13
Quote Anchor link
Ed Jeurissen op 23/05/2022 16:21:51:
@ Arien mysqli_fetch_assoc heb ik nog niet gedaan. Dat gaat me gewoon boven de pet!!

... en dat terwijl het je slechts 6 dagen geleden nog gelukt is!

https://www.phphulp.nl/php/forum/topic/mysqlifetchassoc/104342/#756616
 
- Ariën  -
Beheerder

- Ariën -

27/05/2022 00:05:36
 

Pagina: « vorige 1 2



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.