Avatar billede bjarneriis Nybegynder
19. juli 2001 - 21:37 Der er 16 kommentarer

PHP lærling skal have hjælp til billede-upload

Ja, jeg skal som sagt meget have noget hjælp til et PHP-script...

Det hele går nu på at lave et script som kan uploade et billede.. Men det billede skal først laves lidt om inden at billedet bliver smidt op.
Det skal nemlig først \"resizes\" til 90x90 også smides op.. Og meget gerne sådan at det først hedder 1.jpg og det andet hedder 2.jpg osv...

Er det en der vil hjælpe!? 
Avatar billede razmuz_dk Nybegynder
19. juli 2001 - 22:14 #1
Det er ikke noget jeg vil hænges op på - men noget a lá det her skulle ku\' bruges med hensyn til det der resizing??

if(eregi(\".jpg$|.jpeg$\",$imagefile) {
$src_img = imagecreatefromjpeg($imagefile);
}
if(eregi(\".gif$\",$imagefile) {
$src_img = imagecreatefromgif($imagefile);
}
$new_w = 90;
$new_h = 90;
$dst_img = imagecreate($new_w,$new_h);
imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));

Med hensyn til Upload kan det gøres sådan:

Du laver en form i \"upload.php\" der ser sådan ud:

<form encrypt=\"multipart/form-data\" action=\"upload2.php\">
<input type=\"file\" name=\"file\">
<input type=\"submit\">
</form>

I upload2.php skriver du:

copy(\"$file\",\"sti/til/der/hvor/filen/skal/gemmes/$file_name\") or die(\"Der er sket en fejl);


Intet af dette er testet :o]
Avatar billede razmuz_dk Nybegynder
19. juli 2001 - 22:15 #2
upz..

copy(\"$file\",\"sti/til/der/hvor/filen/skal/gemmes/$file_name\") or die(\"Der er sket en fejl\");
Avatar billede bjarneriis Nybegynder
20. juli 2001 - 10:38 #3
Hvordan skal det her sættes ind:
if(eregi(\".jpg$|.jpeg$\",$imagefile) {
$src_img = imagecreatefromjpeg($imagefile);
}
if(eregi(\".gif$\",$imagefile) {
$src_img = imagecreatefromgif($imagefile);
}
$new_w = 90;
$new_h = 90;
$dst_img = imagecreate($new_w,$new_h);
imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));

????
Avatar billede razmuz_dk Nybegynder
20. juli 2001 - 13:27 #4
Det skal sættes ind efter billedet er uploadet! - dvs til sidst i upload2

Og husk at $imagefile skal indeholde filnavnet på billedet.
Avatar billede bjarneriis Nybegynder
20. juli 2001 - 14:11 #5
Den siger der er en fejl på linje 12...

<HTML>
<HEAD>
<TITLE>Upload</TITLE>
</HEAD>
<BODY>
<?
if ($file) {


copy(\"$file\",\"include/$file_name\") or die(\"Der er sket en fejl);

if(eregi(\".jpg$|.jpeg$\",$imagefile) {
$src_img = imagecreatefromjpeg($imagefile);
}
if(eregi(\".gif$\",$imagefile) {
$src_img = imagecreatefromgif($imagefile);
}
$new_w = 90;
$new_h = 90;
$dst_img = imagecreate($new_w,$new_h);
imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));



        } 

?>

<form encrypt=\"multipart/form-data\" action=\"billede.php3\">
<input type=\"file\" name=\"file\">
<input type=\"hidden\" name=\"imagesfile\" value=\"1.jpg\">
<input type=\"submit\">
</form>
</BODY>
</HTML> 

Avatar billede razmuz_dk Nybegynder
20. juli 2001 - 14:25 #6
copy(\"$file\",\"include/$file_name\") or die(\"Der er sket en fejl);

der mangler \"); til sidst...

copy(\"$file\",\"include/$file_name\") or die(\"Der er sket en fejl\");
Jeg har lige rettet hist og her ..

<HTML>
<HEAD>
<TITLE>Upload</TITLE>
</HEAD>
<BODY>
<?
if ($file) {
copy(\"$file\",\"include/$file_name\") or die(\"Der er sket en fejl\");

$imagesfile = \"include/$file_name\";

if(eregi(\".jpg$|.jpeg$\",$imagefile) {
$src_img = imagecreatefromjpeg($imagefile);
}
if(eregi(\".gif$\",$imagefile) {
$src_img = imagecreatefromgif($imagefile);
}
$new_w = 90;
$new_h = 90;
$dst_img = imagecreate($new_w,$new_h);
imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));
}
?>

<form encrypt=\"multipart/form-data\" action=\"billede.php3\">
<input type=\"file\" name=\"file\">
<input type=\"hidden\" name=\"imagesfile\" value=\"1.jpg\">
<input type=\"submit\">
</form>
</BODY>
</HTML>
Avatar billede bjarneriis Nybegynder
20. juli 2001 - 14:37 #7
Den siger det stadig...


fejlen ligger her på denne linje:
if(eregi(\".jpg$|.jpeg$\",$imagefile) {


Kan det kører hjemme ved dig?
Avatar billede razmuz_dk Nybegynder
20. juli 2001 - 16:37 #8
if(eregi(\".jpg$|.jpeg$\",$imagefile) {

laves om til

if(eregi(\".jpg$|.jpeg$\",$imagefile)) {

ligeledes med

if(eregi(\".gif$\",$imagefile) {

om til

if(eregi(\".gif$\",$imagefile)) {

Avatar billede bjarneriis Nybegynder
20. juli 2001 - 16:57 #9
Så.. Nu kører den lidt bedre:

<HTML>
<HEAD>
<TITLE>Upload</TITLE>
</HEAD>
<BODY>
<?
if($file) {

    $desti=\"include/\";// stien hvor filen skal gemmes
    $desti.=$file_name;
    copy($file,$desti);

$imagesfile = \"include/$file_name\";

if(eregi(\".jpg$|.jpeg$\",$imagefile)) {
$src_img = imagecreatefromjpeg($imagefile);
}
if(eregi(\".gif$\",$imagefile)) {
$src_img = imagecreatefromgif($imagefile);
}
$new_w = 90;
$new_h = 90;
$dst_img = imagecreate($new_w,$new_h);
imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));
}
?>

<FORM ENCTYPE=\"multipart/form-data\" ACTION=\"billede.php3\" METHOD=\"post\">
<INPUT NAME=\"file\" TYPE=\"file\">
<INPUT TYPE=\"submit\" VALUE=\"Upload\">
</FORM>
</BODY>
</HTML>
--

Men der kommer stadig denne fejl...

Fatal error: Call to unsupported or undefined function imagecreate() in /home/sites/site122/web/admin_daro/billede.php3 on line 23
Avatar billede razmuz_dk Nybegynder
20. juli 2001 - 17:24 #10
Hm - måske fordi du ikke har den nye version af PHP installeret ? ...
Avatar billede razmuz_dk Nybegynder
20. juli 2001 - 18:28 #11
Hej Bjarne ...

Jeg har undersøgt sagerne lidt nærmere ... PHP kan desværre ikke redigere/behandle gif billeder, da der var lidt \"licens problemer\". Men denne kode virker:

http://www.razmuz.dk/test/test2.php

<HTML>
<HEAD>
<TITLE>Upload</TITLE>
</HEAD>
<BODY>
<?
if($file) {
    $desti=\"include/\";// stien hvor filen skal gemmes
    $desti.=$file_name;
    copy($file,$desti);

if(eregi(\".jpg$|.jpeg$\",$desti)) {
$src_img = imagecreatefromjpeg($desti);
} else {
print \"Forkert filformat, der accepteres kun *.jpg og *.jpeg\";
exit;
}
$new_w = 90;
$new_h = 90;
$dst_img = imagecreate($new_w,$new_h);
imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));
}
imagejpeg($dst_img, \"$desti\");

print \"<center><img src=\\\"$desti\\\"></center>\";

?>

<FORM ENCTYPE=\"multipart/form-data\" ACTION=\"test2.php\" METHOD=\"post\">
<INPUT NAME=\"file\" TYPE=\"file\">
<INPUT TYPE=\"submit\" VALUE=\"Upload\">
</FORM>
</BODY>
</HTML>


Prøv at uploade en jpg og se! :o]
Avatar billede razmuz_dk Nybegynder
20. juli 2001 - 18:49 #12
ARGH! - en aller sidste rettelse! // forhåbentlig:

<HTML>
<HEAD>
<TITLE>Upload</TITLE>
</HEAD>
<BODY>
<?
if($file) {
    $desti=\"include/\";// stien hvor filen skal gemmes
    $desti.=$file_name;
    copy($file,$desti);

if(eregi(\".jpg$|.jpeg$\",$desti)) {
$src_img = imagecreatefromjpeg($desti);
} else {
print \"Forkert filformat, der accepteres kun *.jpg og *.jpeg\";
exit;
}
$new_w = 90;
$new_h = 90;
$dst_img = imagecreate($new_w,$new_h);
imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));

imagejpeg($dst_img, \"$desti\");

print \"<center><img src=\\\"$desti\\\"></center>\";
}
?>

<FORM ENCTYPE=\"multipart/form-data\" ACTION=\"test2.php\" METHOD=\"post\">
<INPUT NAME=\"file\" TYPE=\"file\">
<INPUT TYPE=\"submit\" VALUE=\"Upload\">
</FORM>
</BODY>
</HTML>
Avatar billede bjarneriis Nybegynder
20. juli 2001 - 22:26 #13
hmm.. Det må være en for gammel version af php min server bruger...

for den siger stadig:
Fatal error: Call to unsupported or undefined function imagecreatefromjpeg() in /home/sites/site122/web/admin_daro/billede.php3 on line 13

Her:
http://www.danskeroligans.dk/admin_daro/billede.php3

Avatar billede razmuz_dk Nybegynder
20. juli 2001 - 22:30 #14
Mærkeligt - installer en ny version? ...
Avatar billede razmuz_dk Nybegynder
21. juli 2001 - 22:03 #15
Bjarne -> finder du ud af noget?

\\\\-> RAZ
Avatar billede delwin Nybegynder
24. juli 2001 - 13:44 #16
Bare lige for en god ordens skyld.. imagecopyresized() er en lidt ældre funktion, der egentlig fungerer glimrende, men hvis man kigger lidt på billederne ser man at de er grumsede.. Der er kommet en ny funktion der hedder imageCopyResampled().. den fungerer på 100% samme måde, men den er først med i GD lib fra version 2.0..
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