Avatar billede zac Nybegynder
10. februar 2005 - 16:41 Der er 8 kommentarer og
1 løsning

Image upload - variabel vist som billede - hvordan?

Denne her virker:

$filename = "Fiordlandcopy_1627.jpg";
$im = @imagecreatefromjpeg($filename);
imagejpeg($im);

Men så vil jeg have upload af fil:

echo "<form method='post' enctype='multipart/form-data' action='upload_forside.php'>\n"; //til filen selv
echo "<input type='hidden' name='sikker' value='yes'>\n";

echo "<tr><td width='200'>* Filnavnet (.jpg):</td>\n";
echo "<td width='400'><input type='file' name='enfil' size='45'><br>\n";
echo "</td></tr>\n";

echo "<tr><td width='200'><input type='reset' name='Rens felterne'></td>\n";
echo "<td width='400'><input type='submit' value='Upload billede til forsiden'><br>\n";
echo "</td></tr>\n";

echo "</form>\n";

Men så virker den ikke, intet billede, kun textstreng fra:

$filename = $enfil;
$im = @imagecreatefromjpeg($filename);
imagejpeg($im);

Og i nogle tilfælde endda:
Warning: imagejpeg(): supplied argument is not a valid Image resource

Hvad gør jeg galt? Det er noget med $enfil...Forstår åbenbart ikke...
Avatar billede bigo Nybegynder
10. februar 2005 - 16:46 #1
Du skal nok have noget med $filename = $_FILES['enfil'];
Avatar billede bigo Nybegynder
10. februar 2005 - 16:51 #2
Avatar billede bigo Nybegynder
10. februar 2005 - 16:52 #3
Så det er jo nok noget ala :

$_FILES['enfil']['name']
Avatar billede zac Nybegynder
10. februar 2005 - 17:57 #4
Hm, register globals er på on, så skulle det være nødvendigt? Den php.net adr. du henviser til, siger "If the PHP directive register_globals is on, related variable names will also exist.".

Men alligevel skulle den her vel så virke, og det gør den ikke:

$filename = $_FILES['enfil']['Fiordlandcopy_1627.jpg'];
echo "<img src=\"$filename\">";
Avatar billede olebole Juniormester
10. februar 2005 - 18:03 #5
<ole>

Nej, det skulle ikke virke. Det gør dette formodentligt:
  $filename = $_FILES['enfil']['tmp_name'];
  echo "<img src=\"$filename\">";

/mvh
</bole>
Avatar billede zac Nybegynder
10. februar 2005 - 18:10 #6
Desværre nej - var selv på samme spor med denne her til register_globals lig on:

$filename =$enfil_tmp_name;
echo "<img src=\"$filename\">";

- som vel skulle virke lige så godt, men heller ikke virker.
Avatar billede zac Nybegynder
10. februar 2005 - 18:12 #7
Jeg ville jo gerne have fat i variablen - for at kunne resize billedet mv., før det bliver gemt og vist et andet sted...
Det skulle da ikke være nødvendigt at gemme først, vel?
Avatar billede zac Nybegynder
10. februar 2005 - 21:11 #8
Har fundet den her på nettet, uploader fint, men viser kun tekststreng, hvor billedet skulle have været:

<form enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="2048000">
File: <input name="userfile" type="file" /><br />
<input type="submit" value="Upload" />
</form>

<?php
if (@is_uploaded_file($_FILES["userfile"]["tmp_name"])) {
        copy($_FILES["userfile"]["tmp_name"], $_FILES["userfile"]["name"]);
        echo "<p>File uploaded successfully.</p>";
}
echo "</td></tr>\n";

  $im = @imagecreatefromjpeg($_FILES["userfile"]["tmp_name"]);
// uden $im = @imagecreatefromjpeg($_FILES["userfile"]["tmp_name"]);
meldes, at imagejpeg is not a valid Image resource
  imagejpeg($_FILES["userfile"]["tmp_name"]);

I stedet for imagecreatefromjpeg og imagejpeg er prøvet:

$billede = $_FILES["userfile"]["tmp_name"];
echo "<img src=\"$billede\">";

Giver ikke billedet, kun rammen...
Hvad er det, der skal til, for at få vist det uploadede billede?
Avatar billede zac Nybegynder
11. februar 2005 - 11:45 #9
Nu har jeg fået en til at hjælpe mig, og løsningen er, at en fil som variabel skal gemmes til server, før man kan gøre noget ved den. Så det her virker:

    copy($_FILES['userfile']['tmp_name'], './img.jpg');
    echo "<p>File uploaded successfully.</p>";
    print '<img src="./img.jpg">';
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester