[php][mysql] uploaden image a la GoT maar net anders :P

Pagina: 1
Acties:

  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 02-06 14:20

RoRoo

Certified Prutser

Topicstarter
ola,

Ik heb een vraagie die misschien heel makkelijk is maar ik snep er nix van :P

Ik ben bezig met een dvd database te maken voor mezelluf met PHP en MySQL.
Ik ben al een end gekomen met pielen en veel trial & error maar nu wil ik een functie die mij een beetje boven mijn pet gaat en veel tutorials houden op waar ik verder wil gaan..

het volgende.

Ik wil tijdens het invullen van mijn dvd een image (cover van dvd doos) kunnen uploaden naar mijn server (so far een tutorial op deze site gevonden)
maar ik wil dus na die upload actie nog een verwijzing binnen mijn dbase hebben naar die file locatie. zodat ik niet nog eens een edit dvd moet uitvoeren om nog ff die locatie in te tiepen.

deze functie lijkt een beetje op het usr icon uploaden naar GoT

is hier ergens een uitgebreide tutorial te vinden? Ik zoek me een ongeluk

alvast wederom dank voor jullie kennisdeling O-)

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


Verwijderd

bij het uploaden krijg je dit soort dingen terug:

$HTTP_POST_FILES['the_file']['name'] (original filename op client computer)
$HTTP_POST_FILES['the_file']['tmp_name'] (naam waaronder ding in /tmp wordt opgeslagen)

die zou je dan gewoon in de database erbij moeten kunnen gooien natuurlijk

is dat wat je bedoeld?

  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 02-06 14:20

RoRoo

Certified Prutser

Topicstarter
Verwijderd schreef op 18 september 2002 @ 18:28:
bij het uploaden krijg je dit soort dingen terug:

$HTTP_POST_FILES['the_file']['name'] (original filename op client computer)
$HTTP_POST_FILES['the_file']['tmp_name'] (naam waaronder ding in /tmp wordt opgeslagen)

die zou je dan gewoon in de database erbij moeten kunnen gooien natuurlijk

is dat wat je bedoeld?
Dus ik zou gewoon moeten kunnen zeggen bij mijn insert statement:
Insert into imagelocation '$HTTP_POST_FILES['the_file']['name']' ??

als dat zo gaat ben ik snel klaar dan..

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


Verwijderd

trial and error :) ik denk dat zoiets wel gaat... je zal misschien nog een path ofzo toe moeten voegen, enn...

als een bestand geupload word dan wordt ie eerst in je temp dir gezet, een noodzakelijk onderdeel van het uploaden is dus het copieren naar de uiteindelijke locatie; zoiets dus:

PHP:
1
2
3
4
5
6
7
$relative = "directory/".$HTTP_POST_FILES['the_file']['name'];
    $target = "/home/website/HTML".$relative;
        if (!@move_uploaded_file($HTTP_POST_FILES['the_file']['tmp_name'], $target)) {
            echo "upload to: ".$relative." failed";
        } else {
            echo "upload to: ".$relative." succesfull";
        }

(incl fancy error checking B-) ;) )

dan kan je dus ook nog kiezen om die files bijv. een volgnumemr te geven ipv de filenaam, of de unique ID van de table, dan heb je geen extra kolom nodig. oftewel, mogelijkheden te over, succes!

  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 02-06 14:20

RoRoo

Certified Prutser

Topicstarter
Yipe!! :P

Ik gaat kijken of ik vandaag een gaatje kan vinden om het te testen.

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


Verwijderd

Verwijderd schreef op 18 september 2002 @ 18:49:
trial and error :) ik denk dat zoiets wel gaat... je zal misschien nog een path ofzo toe moeten voegen, enn...

als een bestand geupload word dan wordt ie eerst in je temp dir gezet, een noodzakelijk onderdeel van het uploaden is dus het copieren naar de uiteindelijke locatie; zoiets dus:

PHP:
1
2
3
4
5
6
7
$relative = "directory/".$HTTP_POST_FILES['the_file']['name'];
    $target = "/home/website/HTML".$relative;
        if (!@move_uploaded_file($HTTP_POST_FILES['the_file']['tmp_name'], $target)) {
            echo "upload to: ".$relative." failed";
        } else {
            echo "upload to: ".$relative." succesfull";
        }

(incl fancy error checking B-) ;) )

dan kan je dus ook nog kiezen om die files bijv. een volgnumemr te geven ipv de filenaam, of de unique ID van de table, dan heb je geen extra kolom nodig. oftewel, mogelijkheden te over, succes!
Er zit een foutje in:
PHP:
1
2
3
4
5
6
// Of je doet dit: (let op de eerste / )
$relative = "/directory/".$_FILES['the_file']['name'];

// Of dit: (let op de laatse /)
$target = "/home/website/HTML/".$relative;
// $_FILES is synoniem voor $HTTP_POST_FILES

Verwijderd

Verwijderd schreef op 19 september 2002 @ 16:29:
[...]


Er zit een foutje in:
PHP:
1
2
3
4
5
6
// Of je doet dit: (let op de eerste / )
$relative = "/directory/".$_FILES['the_file']['name'];

// Of dit: (let op de laatse /)
$target = "/home/website/HTML/".$relative;
// $_FILES is synoniem voor $HTTP_POST_FILES
je hebt gelijk....dat had ik ook al gezien, in mijn oorspronkelijke script hangt het iets anders in elkaar ($vars uit config.php)

ff kijken of jullie wel oplette >:)

  • RoRoo
  • Registratie: Mei 2001
  • Laatst online: 02-06 14:20

RoRoo

Certified Prutser

Topicstarter
:) ik heb het uiteindelijk aan de praat gekregen.. heb alleen de errorchecking eruit gehaald omdat ie die anders steeds weergaf.. mijn code nu.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
if(isset($send))
    {
 $cover = $HTTP_POST_FILES['cover']['name'];
    
   move_uploaded_file($HTTP_POST_FILES['cover']['tmp_name'], $HTTP_SERVER_VARS['DOCUMENT_ROOT'].'/images/'.$cover);
   mysql_query("INSERT INTO dvd (Title, Region, Type, Sale, image, review) 
VALUES ('$Title', '$Region', '$Type', '$Sale', '$cover', '$review') ");
print"<meta http-equiv=refresh content=0;URL=/>";
}

print"
// etcetera


edit tbv. fuckup van layout..

ik had een IF statement na de if(isset($send)) gezet dat ie ook nog ff ging checken of de file wel geupload was. maar die error kreeg ik dus steeds boven mijn formpje te zien :(

ik denk dat menigeen wel kan zien dat mijn phpcoding skillz zuigen :P

[ Voor 0% gewijzigd door RoRoo op 23-09-2002 14:02 . Reden: layout fukup ]

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku

Pagina: 1