Toon posts:

[php] uploaden

Pagina: 1
Acties:
  • 41 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik zit met het volgende probleem :
ik moet een foto kunnen uploaden naar den map fotos
Nu heb ik het onderstaande script.
Het probleem nu is, dat hij steeds aangeeft dat hij het bestand niet kan uploaden..
en ik zou echt niet weten wat het probleem is..

Ziet iemand iets wat ik niet zie.. of weet iemand iets hiervan wat ik niet weet.

Dus : weet iemand waar het probleem zit??

PHP:
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
<? 
$file_name = strtolower($_POST['foto']); 

    if (in_array(GetExtension($file_name), array("gif","jpeg","jpg","png"))) 
    { 
        if (is_uploaded_file($file_name)) 
        { 
            $file_size = $_FILES['foto']['size']; 
            $extensie = GetExtension($file_name); 
            mysql_query("INSERT INTO images (naam,size,echt,type) VALUES ('".addslashes($file_name)."','".$file_size."','".addslashes($file_name)."','".GetExtension($file_name)."')"); 
            $id = mysql_insert_id(); 
            $newfile = $id . "." . GetExtension($file_name); 
            move_uploaded_file($file, "fotos/" . $newfile); 
            mysql_query ("UPDATE images SET echt = '$newfile' WHERE id = '$_GET[id]'"); 
        } 
        else 
        { 
            $t->assign("main","text","Bestand kon niet worden geupload.");     
        } 
    } 
    else 
    { 
        $t->assign("main","text","Alleen <B>gif,jpeg,jpg,png</B> zijn geldige filetypes!"); 
    }
?>  

[ Voor 34% gewijzigd door Verwijderd op 29-03-2003 17:56 . Reden: Foute opmaak ]


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Doe even een beter verhaaltje aan de hand van de quickstart. Zo even hier op de McDrive manier je bestelling plaatsen werkt niet echt.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:05

crisp

Devver

Pixelated

wellicht de manual eens doorlezen? Dan kom je er bijvoorbeeld al snel achter dat je een geuploade file niet in de $_POST maar in de $_FILES array moet zoeken...

Intentionally left blank


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 23-08 15:12

alienfruit

the alien you never expected

:) Ja. Zou je misschien wat error messages kunnen plaatsen?
[rollback]Speciaal voor drm; Mogelijk is het een kwestie van een rechtenprobleem; dat je bijv. het bestand in /photo wilt plaatsen terwijl PHP hiervoor rechten heeft omdat hij er niet de eigenaar van is.[/rollback]

[ Voor 120% gewijzigd door alienfruit op 29-03-2003 18:11 . Reden: lalalalala ]


Verwijderd

Topicstarter
crisp schreef op 29 maart 2003 @ 17:54:
wellicht de manual eens doorlezen? Dan kom je er bijvoorbeeld al snel achter dat je een geuploade file niet in de $_POST maar in de $_FILES array moet zoeken...
dank je..

dat probleem is nu idd opgelost..
maar het volgende probleem is nu dat hij zegt :
Alleen gif,jpeg,jpg,png zijn geldige filetypes!

terwijl ik gewoon een jpg wil uploaden.

weet iemand wat dat voor fout is..
ik heb namlijk geen idee.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:05

crisp

Devver

Pixelated

Verwijderd schreef op 29 maart 2003 @ 18:12:
[...]

dank je..

dat probleem is nu idd opgelost..
maar het volgende probleem is nu dat hij zegt :
Alleen gif,jpeg,jpg,png zijn geldige filetypes!

terwijl ik gewoon een jpg wil uploaden.

weet iemand wat dat voor fout is..
ik heb namlijk geen idee.
Heb je al gekeken wat GetExtension($file_name) teruggeeft? wellicht zit daar nog een foutje in. Verder zie ik dat je deze functie 3 keer gebruikt; als je nu meteen al $extensie = GetExtension($file_name); doet en verder $extensie gebruikt - scheelt performance en leesbaarheid.

Intentionally left blank


Verwijderd

Topicstarter
ik heb ff gekeken.. en hij zet nix in de $_FILES

die is helemaal leeg..

Dus als ik zeg : $extensie = GetExtention($_FILES['foto']['name']);
dan geeft ie dus niets terug..

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 23-08 15:12

alienfruit

the alien you never expected

Nou dan klopt het toch , want dan zit de jpg e.d. niet de array dus dan moet ie die fout uitspugen.

code:
1
2
3
4
5
6
7
8
if (in_array(GetExtension($file_name), array("gif","jpeg","jpg","png")))  
    {  
     ...    
    }  
    else  
    {  
        $t->assign("main","text","Alleen <B>gif,jpeg,jpg,png</B> zijn geldige filetypes!");  
    }

Verwijderd

Topicstarter
Jah dat klopt ook wel jah..

Maar weet iemand dan waarom hij niets in de $_FILES zet??
STOEL had het zelfde probleem.. die kreeg ook niet is de $_FILES

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

[nohtml]
ekeod:
ik heb ff gekeken.. en hij zet nix in de $_FILES
Dan ben je dus hoogstwaarschijnlijk vergeten de juiste encoding in je form tag op te nemen:
code:
1
<form method="post" action="woei.php" <b>enctype="multipart/form-data"</b>>

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Topicstarter
thnx dat was het..
maar nu gaat ie weer kloten over dat het niet kon worden geupload.
ik heb nu deze code :

PHP:
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
<?
if($_FILES['foto'])
    {
    
        $file_name = strtolower($_FILES['foto']['name']);

        if (in_array(GetExtension($file_name), array("gif","jpeg","jpg","png")))
        {
            if (is_uploaded_file($file_name))
            {
                $file_size = $_FILES['foto']['size'];
                $extensie = GetExtension($file_name);
                mysql_query("INSERT INTO images (naam,size,echt,type) VALUES ('".addslashes($file_name)."','".$file_size."','".addslashes($file_name)."','".GetExtension($file_name)."')");
                $id = mysql_insert_id();
                $newfile = $id . "." . GetExtension($file_name);
                move_uploaded_file($file, "fotos" . $newfile);
                mysql_query ("UPDATE images SET echt = '$newfile' WHERE id = '$_GET[id]'");
            }
            else
            {
                $t->assign("main","text","Bestand kon niet worden geupload.");  
            }
        }
        else
        {
            $t->assign("main","text","Alleen <B>gif,jpeg,jpg,png</B> zijn geldige filetypes!");
        }
        
    }
?>


zit hier dan nog een fout in ???
want hij zet nu wel alles in de $_FILES

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Wat is dat nou voor informatie :? Geef dan een waarschuwing of een foutmelding die je krijgt, hier kunnen we toch niks mee ....

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Deze code werkt 100% zeker, haal em net uit mn source :D

PHP:
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
    // Verstuurde bestand opslaan
    if ($submit) { 
        if ($HTTP_POST_FILES[file][tmp_name] != "none") {  
            $fp = @fopen($HTTP_POST_FILES[file][tmp_name],"r");  
            if ($fp) { 
                $content = fread($fp,filesize($HTTP_POST_FILES[file][tmp_name]));  
                fclose($fp);
                $imageInfo = getimagesize($HTTP_POST_FILES[file][tmp_name]);
                $width = $imageInfo[0]; 
                $height = $imageInfo[1];
                $sql = mysql_query("INSERT INTO fb_images VALUES(0,'" . $HTTP_POST_FILES[file][name] . "','" . $HTTP_POST_FILES[file][type] . "','" . filesize($HTTP_POST_FILES[file][tmp_name]) . "','" . addslashes($content) . "')");
                echo"<a class=text>Bestand opgeslagen";
            }
            if (!fp) { echo"<a class=text>Kan het bestand niet openen"; }
        }
        if ($HTTP_POST_FILES[file][tmp_name] == "none") { echo"<a class=text>Geen bestand geselecteerd"; } 
    }

    // Bestand selecteren
    if (!$submit) {
        echo"<a class=text><form action=$PHP_SELF method=POST enctype=\"multipart/form-data\">";
        echo"Bestand: <input type=file name=file><BR>";
        echo"<input type=submit name=submit value=\"Upload File Into Database\">";
        echo"</form>";
    }


[edit]
paar onnodige dingen /edit

[ Voor 18% gewijzigd door Verwijderd op 29-03-2003 20:29 ]


Verwijderd

ook moet je een mysql tabel hebben :D
PHP:
1
2
3
4
5
6
7
8
9
CREATE TABLE fb_images (
  id int(5) NOT NULL auto_increment,
  name varchar(64) NOT NULL default '',
  type varchar(64) NOT NULL default '',
  length int(11) NOT NULL default '0',
  content mediumblob NOT NULL,
  PRIMARY KEY  (id),
  UNIQUE KEY id (id)
) TYPE=MyISAM;

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

mja, dat leidt nergens toe zo. Lappen code en geen foutmeldingen en allemaal giswerk.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1

Dit topic is gesloten.