Avatar billede eikhorsholm Nybegynder
29. marts 2005 - 21:44 Der er 13 kommentarer og
1 løsning

Upload image, lidt problemer.

Jeg har en form med en type="file" osv. Når jeg submitter den, plejer jeg at kunne hive fil-data ud med:

$_FILES['image']['tmp_name'] osv.

men det ser ikke ud til at fungere mere. Jeg har husket at sætte min form til:

enctype="multipart/form-data"

Jeg kan ikke rigtig se hvad jeg gør galt. Har prøvet med nogle gamle scripts som har fungeret før, men de fungerer heller ikke mere. Så tror måske det er min PHP installation.

Ved ikke om det har noget at gøre med PHP5?
Avatar billede detox Nybegynder
29. marts 2005 - 22:14 #1
Har du sat:

file_uploads = On

i php.ini?
Avatar billede eikhorsholm Nybegynder
29. marts 2005 - 23:00 #2
Det har jeg. Jeg har dog ikke sat et upload_tmp_dir, skal jeg det?
Avatar billede eikhorsholm Nybegynder
29. marts 2005 - 23:01 #3
Min komplette upload-kode ser således ud:

function uploadImage() {
  $time = time();

  $srcPath = $_FILES['image']['tmp_name'];
  $src = imagecreatefromjpeg($srcPath);
  $srcSize = getimagesize($srcPath);
  $srcWidth = $srcSize[0];
  $srcHeight = $srcSize[1];

  $dst = imagecreatetruecolor(400, 300);

  $frame = imagecreatefrompng('../pic/frames/1.png');

  imagecopyresampled($dst, $src, 0, 0, 0, 0, 400, 300, $srcWidth, $srcHeight);
  imagecopyresampled($dst, $frame, 0, 0, 0, 0, 400, 300, 400, 300);
  imagejpeg($dst, '../pic/'.$time.'.jpg', 100);
  imagedestroy($dst);
  imagedestroy($src);
  imagedestroy($frame);

  return $time;
}
Avatar billede Slettet bruger
29. marts 2005 - 23:06 #4
mangler du ikke en 'move_uploaded_file' ?
Avatar billede eikhorsholm Nybegynder
29. marts 2005 - 23:15 #5
Det skulle jeg ikke mene, jeg har brugt lign. kode (uden move_uploaded_file) mange gange før, og har også nogle sider oppe nu, hvor det fungerer.

Den brokker sig, over at $srcPath ikke er et gyldigt billede, hvilket skyldes $_FILES['image']['tmp_name']. Hvis jeg erstatter $_FILES['image']['tmp_name'] med f.eks. "../pic/test1.jpg", så virker det hele.
Avatar billede detox Nybegynder
30. marts 2005 - 01:26 #6
Hvis du ikke sætter: upload_tmp_dir benytter php system default. Prøv at udskrive dit $_FILES array i en testfunktion:

function TESTuploadImage() {
  print_r($_FILES);
}
Avatar billede detox Nybegynder
30. marts 2005 - 11:01 #7
Ps: Jeg kan i øvrigt ikke se noget galt med din funktion som sådan.
Avatar billede eikhorsholm Nybegynder
31. marts 2005 - 18:48 #8
Jeg har prøvet mit script på min mac, og der fungerer det helt fint.
Jeg tester lige TESTuploadImage fra detox :-)
Avatar billede eikhorsholm Nybegynder
31. marts 2005 - 19:04 #9
Der udskrives ingenting med print_r(...
Hvordan kan det være? Mangler jeg at sætte noget til i php.ini?
Avatar billede detox Nybegynder
31. marts 2005 - 21:17 #10
Du skal osse have sat: upload_max_filesize og post_max_size, ellers må du eksperimentere med at sætte: upload_tmp_dir.
Avatar billede eikhorsholm Nybegynder
31. marts 2005 - 22:27 #11
detox --> Det var det, upload_max_filesize :-)
Det havde jeg slet ikke tænkt på. Laver du ikk' et svar.
Avatar billede detox Nybegynder
31. marts 2005 - 22:37 #12
Jo da.
Avatar billede eikhorsholm Nybegynder
01. april 2005 - 09:53 #13
Tak for svar :-)
Avatar billede detox Nybegynder
01. april 2005 - 23:40 #14
Selv tak
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