[PHP]variabele aan geupload plaatje toekennen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Pkunk
  • Registratie: December 2003
  • Laatst online: 11-09 17:52
Ik laat via een form een plaatje uploaden. Nu wil ik dat telkens het laatst geuploade plaatje word laten zien op die pagina. Maar dat lukt dus niet.

Dit is de uploadcode (die gewoon goed werkt):
code:
1
2
3
4
5
if(is_uploaded_file($_FILES['file']['tmp_name']))
{
move_uploaded_file($_FILES['file']['tmp_name'],$uploaddir.'/'.$_FILES['file']['name']);
}
print "Your file has been uploaded successfully! Yay!";

Ik begrijp dat $_FILES een array is met daarin o.a. name en size en tmp_name e.a.

ik probeer dit soort dingen, maar dat werkt dus niet.
code:
1
echo [img]"<?echo[/img]";


Ik heb vanalles geprobeert, en ik krijg vanalles te zien, behalve dat plaatje :(

Ik heb de faq goed doorgelezen, flink gegoogled, op php.net e.d. sites gezocht, maar ik kan telkens precies niet vinden wat ik nodig heb. Ik weet even niet meer waar ik het zoeken moet.

Hallo met Tim


Acties:
  • 0 Henk 'm!

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 23:37
<img src =""> en dan de 'locatie' of url van je geuploade plaatje he

Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 23:35
er klopt niets van je syntax

code:
1
echo "[img]"[/img]";

Acties:
  • 0 Henk 'm!

  • Pkunk
  • Registratie: December 2003
  • Laatst online: 11-09 17:52
gideon82 schreef op maandag 16 mei 2005 @ 00:45:
<img src =""> en dan de 'locatie' of url van je geuploade plaatje he
Mja... daar heb ik dus niks aan, want het gaat er om dat het telkens specifiek het laatst geuploade plaatjes is.
418O2 schreef op maandag 16 mei 2005 @ 00:47:
er klopt niets van je syntax
Vandaar ook dit topic.. :P maar ook met goede syntax werkt het niet hoor :(

[ Voor 20% gewijzigd door Pkunk op 16-05-2005 00:59 ]

Hallo met Tim


Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 23:35
en wat doet mijn voorstel? doe anders ff

code:
1
echo $_FILES['file']['name'];

of
code:
1
print_r($_FILES);

Acties:
  • 0 Henk 'm!

  • Pkunk
  • Registratie: December 2003
  • Laatst online: 11-09 17:52
418O2 schreef op maandag 16 mei 2005 @ 00:59:
en wat doet mijn voorstel? doe anders ff

code:
1
echo $_FILES['file']['name'];
print de bestandsnaam van het plaatje
of
code:
1
print_r($_FILES);

laat dit zien, maar dat wist ik ook al ;)
code:
1
2
3
4
5
6
7
8
9
10
11
12
Array
(
    [file] => Array
        (
            [name] => heinz.jpg
            [type] => image/jpeg
            [tmp_name] => C:\DOCUME~1\timmie\LOCALS~1\Temp\php37.tmp
            [error] => 0
            [size] => 41053
        )

)

[ Voor 11% gewijzigd door Pkunk op 16-05-2005 01:02 ]

Hallo met Tim


Acties:
  • 0 Henk 'm!

  • Guldan
  • Registratie: Juli 2002
  • Laatst online: 21-09 11:30

Guldan

Thee-Nerd

je zou natuurlijk steeds dezelfde filename kunnen gebruiken en het plaatje wat dan in de temp dir staat is het nieuwste plaatje.. Of bedoel je dat niet?

You know, I used to think it was awful that life was so unfair. Then I thought, wouldn't it be much worse if life were fair, and all the terrible things that happen to us come because we actually deserve them?


Acties:
  • 0 Henk 'm!

  • Pkunk
  • Registratie: December 2003
  • Laatst online: 11-09 17:52
Guldan schreef op maandag 16 mei 2005 @ 01:07:
je zou natuurlijk steeds dezelfde filename kunnen gebruiken en het plaatje wat dan in de temp dir staat is het nieuwste plaatje.. Of bedoel je dat niet?
Nou, het idee is dat mensen er gewoon hun plaatjes op gooien en dat dan telkens het meest recente plaatje word weergegeven.

Hallo met Tim


Acties:
  • 0 Henk 'm!

  • Guldan
  • Registratie: Juli 2002
  • Laatst online: 21-09 11:30

Guldan

Thee-Nerd

euh dat zou dus kunnen als je tegelijkertijd met het uploaden van een plaatje ook een entry in de database aanmaakt met een timestamp en een bestandsnaam. Dan zou je dus de laatste timestamp en bestandsnaam uit moeten lezen en dit plaatje laten weergeven. Het plaatje zelf staat niet in de database. maar alleen de bestandsnaam. Dat zou de korste klap zijn denk ik.....

You know, I used to think it was awful that life was so unfair. Then I thought, wouldn't it be much worse if life were fair, and all the terrible things that happen to us come because we actually deserve them?


Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 23:35
het is trouwens
code:
1
echo "[img]\""[/img]";

my bad
als daar dan

[img]"heinz.jpg"[/img] komt te staan moet het werken.. Weet je zeker dat het plaatje in de goede dir staat?

[ Voor 56% gewijzigd door 418O2 op 16-05-2005 01:15 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

PHP:
1
2
3
<?
echo <img src="<?echo $FILES['file']['name'];?>";
?>
echo echo? Hoe zie je dat voor je? PHP in PHP? :X

Je uploadt het plaatje. Je gebruikt ook move_uploaded_file. Dezelfde bestandsnaam die je in move_uploaded_file gebruikt, die moet je ook gebruiken in je image tag. Bekijk voor de grap de HTML-code eens van de pagina die je genereert met jouw stukje code. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php

if(is_uploaded_file($_FILES['file']['tmp_name']))
{
move_uploaded_file($_FILES['file']['tmp_name'],$uploaddir.'/'.$_FILES['file']['name']);
}
print "Your file has been uploaded successfully! Yay!";

echo "[img]\""[/img]";

?>

erg basic hoor

[edit]
Ik heb de faq goed doorgelezen, flink gegoogled, op php.net e.d. sites gezocht, maar ik kan telkens precies niet vinden wat ik nodig heb. Ik weet even niet meer waar ik het zoeken moet.
Als je de eerste 2 hoofdstukken @ http://nl3.php.net/manual/nl/index.php gelezen had, was je echt met iets beters gekomen.

[ Voor 48% gewijzigd door Verwijderd op 16-05-2005 01:25 ]


Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
Je zou een functie kunnen schrijven die opzoekt welk plaatje het laatst is geupload. Volgens mij moet dat mbv deze functies wel lukken:

http://nl2.php.net/manual/nl/function.readdir.php
http://nl2.php.net/manual/nl/function.opendir.php
http://nl2.php.net/manual/nl/function.closedir.php
http://nl2.php.net/manual/nl/function.fileatime.php

Acties:
  • 0 Henk 'm!

  • gvanh
  • Registratie: April 2003
  • Laatst online: 02-12-2023

gvanh

Webdeveloper

Als ik het goed begrijp, probeer je in dit geval een plaatje weer te geven dat zojuist is geupload via een form. Jouw denkfout ligt waarschijnlijk in het feit dat je het plaatje wilt weergeven, dat naar /tmp/ is ge-upload. Als ik echter PHP goed begrijp, dan bestaat dat plaatje in de /tmp/ map slechts tijdens de executie van het PHP script. Als je het tijdens de executie niet via de function move_uploaded_file() ergens anders heen verplaatst, is het weer verdwenen op het moment dat je script ten einde is.

Op het moment dat je browser in de HTML dus probeert het plaatje te laden, lukt dat al niet meer, omdat je script dan al ten einde is en het bestand in de /tmp/ map dus niet meer bestaat. Vandaar dat dus de code van Emiel wel werkt, en die van jou niet.

Acties:
  • 0 Henk 'm!

Verwijderd

Brokstuk schreef op maandag 16 mei 2005 @ 00:38:
ik probeer dit soort dingen, maar dat werkt dus niet.
code:
1
echo [img]"<?echo[/img]";


Ik heb vanalles geprobeert, en ik krijg vanalles te zien, behalve dat plaatje :(
probeer eens $_FILES

Acties:
  • 0 Henk 'm!

Verwijderd

code:
1
echo [img]"<?echo[/img]";


->
code:
1
echo '[img]"'.[/img]';

Acties:
  • 0 Henk 'm!

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Als je nu in de source kijkt zie je dat je verwijst naar het plaatje in de temp dir, en daar kan je webserver zo niet bij. Je moet het pad + de bestandsnaam gebruiken die je ook in je move_uploaded_file() gebruikt.

Sole survivor of the Chicxulub asteroid impact.


Acties:
  • 0 Henk 'm!

  • Pkunk
  • Registratie: December 2003
  • Laatst online: 11-09 17:52
Verwijderd schreef op maandag 16 mei 2005 @ 01:23:
PHP:
1
echo "[img]\""[/img]";

Als je de eerste 2 hoofdstukken @ http://nl3.php.net/manual/nl/index.php gelezen had, was je echt met iets beters gekomen.
tnx dat zocht ik. Ga meteen weer ff doorlezen. :)
Guldan schreef op maandag 16 mei 2005 @ 01:11:
euh dat zou dus kunnen als je tegelijkertijd met het uploaden van een plaatje ook een entry in de database aanmaakt met een timestamp en een bestandsnaam. Dan zou je dus de laatste timestamp en bestandsnaam uit moeten lezen en dit plaatje laten weergeven. Het plaatje zelf staat niet in de database. maar alleen de bestandsnaam. Dat zou de korste klap zijn denk ik.....
Maar uiteindelijk zal het zoiets als die moeten worden denk ik..
Ik dank u allen hartelijk. :)

[ Voor 62% gewijzigd door Pkunk op 16-05-2005 13:23 ]

Hallo met Tim

Pagina: 1