27. april 2009 - 17:32Der er
19 kommentarer og 1 løsning
ændre navn på billede i billedeupload?
Hej. Jeg har en billeduploadfunktion, som på nuværende tidpunkt beholder det oprindelige navn på billedet når den smider det op i mappen, men jeg vil gerne have den til at omdøbe billedet til $brugernavn, som hives ud fra min database. Koden er som følger: -------------------------------------------------------------- <?php $Submit = $_REQUEST["Submit"]; ?> <form name="form" method="post" action="bilupload.php?cid=<?php print "$cid"; ?>" enctype="multipart/form-data"> <input type="hidden" name="cid" value="<?php print "$cid"; ?>"> <input type="file" name="imagefile"> <input type="submit" name="Submit" value="Submit"> <? if(isset( $Submit )) { if ($_FILES['imagefile']['type'] == "image/pjpeg"){ copy ($_FILES['imagefile']['tmp_name'], "vinbil/".$_FILES['imagefile']['name']) or die ("oh crap! not copied"); echo "Billedet er tilføjet"; } else { echo "Filen er ikke kopieret, forkert Filtype (".$_FILES['imagefile']['name'].")"; } } ?> </form>
-Der er i forvejen forbundet til databasen, hvor $brugernavn hives ud fra.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
<?php $Submit = $_REQUEST["Submit"]; ?> <form name="form" method="post" action="bilupload.php?cid=<?php print "$cid"; ?>" enctype="multipart/form-data"> <input type="hidden" name="cid" value="<?php print "$cid"; ?>"> <input type="file" name="imagefile"> <input type="submit" name="Submit" value="Submit"> <? if(isset( $Submit )) { if ($_FILES['imagefile']['type'] == "image/pjpeg"){ copy ($_FILES['imagefile']['tmp_name'], "vinbil/".$newName) or die ("oh crap! not copied"); echo "Billedet er tilføjet"; } else { echo "Filen er ikke kopieret, forkert Filtype (".$_FILES['imagefile']['name'].")"; } } ?> </form>
Sådan som jeg har lavet det der, betyder så at der ikke må være punktum i dine filnavne udover .jpg og så videre.... mit.billede.jpg er ikke tilladt. Så vil det ikke virke. Men det vidst heller ikke særlig tit at det sker. Og hvis endelig at det er et problem, er det meget let at løse :)
Det virker helt super!... har dog lige et par tillægsspørgsmål som jeg håber du også har mulighed for at hjælpe med.
Det skulle helst være sådan at jeg kan uploade to billeder, hvor det første hedder $brugernavn_01 og det andet hedder $brugernavn_02 ... kan jeg bare tilføje 01 og 02 bagefter? Og kan jeg bare kopiere koden så den står to gange og så bare en en submitknap eller skal det laves på en anden måde? takker...
Og ja du smider bare den samme kode ind igen. Altså kode-delen som indeholder copy .... og så retter du den til, så den hedder Newname2 og din inputfelt skal hedde noget andet, så de ikke hedder det samme. Så skulle det køre fint :)
Skal der ikke rettes noget her: $uploadedPic = $_FILES['imagefile']['name']; $split = explode(".", $uploadedPic);
hvis nu jeg kalder den anden for imagefile2 skal det så være sådan:
Skal der ikke rettes noget her: $uploadedPic = $_FILES['imagefile']['name']; $uploadedPic = $_FILES['imagefile2']['name']; $split = explode(".", $uploadedPic);
if ($_FILES['imagefile']['type'] == "image/pjpeg" AND $_FILES['imagefile2']['type'] == "image/pjpeg"){ copy ($_FILES['imagefile']['tmp_name'], "vinbil/".$newName) copy ($_FILES['imagefile2']['tmp_name'], "vinbil/".$newName2) or die ("oh crap! not copied"); echo "Billedet er tilføjet";
Hvorfor poster du det der? $split = explode("/", $uploadedPic); vil ikk give .jpg, .gif og såvidere for sig selv som er påkrævet.
Synes godt om
Slettet bruger
28. april 2009 - 20:18#14
det ville det jo netop $_FILES['imagefile']['type'];
image type på et jpg billede ville give: image/jpg eller image/jpeg så at explode image type ville være helt rigtigt.. og så kommer der ikke fejl i skriptet hvis billedet hedder dasdsad.asdas.jpeg vel..
desuden ville det ikke være næmmere at loope igennem de billeder der skal uploades i stedet for at definere i php hvor mange filer man kan uploade
if ($_FILES['imagefile']['type'] == "image/pjpeg" AND $_FILES['imagefile2']['type'] == "image/pjpeg"){ copy ($_FILES['imagefile']['tmp_name'], "vinbil/".$newName) copy ($_FILES['imagefile2']['tmp_name'], "vinbil/".$newName2) or die ("oh crap! not copied"); echo "Billedet er tilføjet";
og hvad med at udvide php eget hukommelse hvis man nu har brug for at uploade store billeder når php nu engang kun har 8 mb til at starte med...
hvad med at lave nogle thumbs af billederne ville det ikke være en ide eller ville det også være forkert ??
Synes godt om
Slettet bruger
28. april 2009 - 20:27#15
det er ikke image type men file type en lille glipper der
<b>og hvad med at udvide php eget hukommelse hvis man nu har brug for at uploade store billeder når php nu engang kun har 8 mb til at starte med...
hvad med at lave nogle thumbs af billederne ville det ikke være en ide eller ville det også være forkert ??</b>
Ja det ville være forkert! Forkert at begynde at vrøvle omkring ihverfald. Det har intet med topic at gøre. Der er allerede blevet besvaret på spørgsmålet og det er accepteret. Ergo laves der ikke alt muligt udover det, og ergo er tråden er lukket!
Yd support på de åbne tråde tak ... :)
Synes godt om
Slettet bruger
28. april 2009 - 22:10#17
Ja det ville være forkert! Forkert at begynde at vrøvle omkring ihverfald.
lol det er da dig der vrøvler jeg og jeg ser ikke at tråden er lukket nogen steder, men det er ikke der for jeg skriver, jeg skriver nemlig for at hjælpe når nu den hjælp du gav var halv færdig.. og igen var det det eneste punkt du kunne citere eller forstod du ikke store ord som loope eller thumbs, hvis ikke vil jeg med glæde hjælpe dig
Jeg havde ikke set du havde postet $_FILES['imagefile']['type']; My bad. Sorry ... Det vil nemlig ikke virke med $_FILES['imagefile']['name']; som jeg skrev. Som jeg også skrev i første indlæg allerede, så var det let at løse med punktum hvis det skulle blive aktuelt.
Det er den smarteste løsning. Men der er ikke en korrekt metode. Vi bruger explode nøjagtig ens og begge virker :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.