11. juli 2005 - 20:37Der er
24 kommentarer og 1 løsning
ændring af filnavn + thumbnail
Jeg har følgende script, beregnet til upload af billeder. det går også fint, billederne bliver uploadet og dataen bliver gemt i databasen. Men jeg vlle gerne ha at billederne blev omdøbt til værdien $id når de ligger på serveren, og at der yderligere blev lavet en thumbnail af billedet som bliver smidt ind i "produkt/tn". But how? Har rodet med det, men det virker slet ik og er ved at give mig grå hår.
/* Hvor flytter vi fra og til */ $fra = $_FILES["upfil"]["tmp_name"]; $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
/* Accepterer vi filens stoerrelse? */
$fil_stoerrelse = filesize($fra)/1024;
if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) { die("Desværre - filen er for stor. Jeg accepterer kun " . $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " . ceil($fil_stoerrelse, 1) . " kb"); }
/* Saa koerer vi */ if(function_exists("move_uploaded_file")) { move_uploaded_file($fra, $til); } else { copy($fra, $til); }
/* Hvor flytter vi fra og til */ $fra = $_FILES["upfil"]["tmp_name"]; $til = $konfiguration["upload_bibliotek"] . "/" . $id . ".jpg";
/* Accepterer vi filens stoerrelse? */
$fil_stoerrelse = filesize($fra)/1024;
if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) { die("Desværre - filen er for stor. Jeg accepterer kun " . $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " . ceil($fil_stoerrelse, 1) . " kb"); }
/* Saa koerer vi */ if(function_exists("move_uploaded_file")) { move_uploaded_file($fra, $til); } else { copy($fra, $til); }
Warning: getimagesize(): Unable to access 3.jpg in /hsphere/local/home/ivision/venusbjerget.dk/a/step3done.php on line 58
Warning: getimagesize(3.jpg): failed to open stream: No such file or directory in /hsphere/local/home/ivision/venusbjerget.dk/a/step3done.php on line 58
Warning: Division by zero in /hsphere/local/home/ivision/venusbjerget.dk/a/step3done.php on line 59
Warning: imagecreatefromjpeg(3.jpg): failed to open stream: No such file or directory in /hsphere/local/home/ivision/venusbjerget.dk/a/step3done.php on line 63
Warning: imagecreatetruecolor(): Invalid image dimensions in /hsphere/local/home/ivision/venusbjerget.dk/a/step3done.php on line 66
Warning: imagealphablending(): supplied argument is not a valid Image resource in /hsphere/local/home/ivision/venusbjerget.dk/a/step3done.php on line 67
Warning: imagecopyresized(): supplied argument is not a valid Image resource in /hsphere/local/home/ivision/venusbjerget.dk/a/step3done.php on line 69
/* Hvor flytter vi fra og til */ $fra = $_FILES["upfil"]["tmp_name"]; $til = $konfiguration["upload_bibliotek"] . "/" . $id . ".jpg";
/* Accepterer vi filens stoerrelse? */
$fil_stoerrelse = filesize($fra)/1024;
if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) { die("Desværre - filen er for stor. Jeg accepterer kun " . $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " . ceil($fil_stoerrelse, 1) . " kb"); }
/* Saa koerer vi */ if(function_exists("move_uploaded_file")) { move_uploaded_file($fra, $til); } else { copy($fra, $til); }
Ja, jeg ved ik hvad der sker for mit webhotel, men nu virker det igen. Jeg har indsat din rezize function, den uploader korrekt billedet i produkt/billeder/ med id'en som navn, men ik noget i /tn Har sat chmod til 777
Har testet denne kode og i starten virkede det også med at lægge op, men den tjekkede ikke på filstørrelse og når den er over 2048 Kb så kører den ikke uploadfunktionen. Hvordan virker den resize funktion? har sat den til slut men funktionen syntes jeg ikke bliver kaldt nogen steder??
Uploader jeg filer under 2048 virker det fint bare ikke over. og den kommer ikke med nogen fejlmeddelse, den kører bare uploadfunktionen uanset hvad.. hmm
/* Check PHP-version */ list($major, $minor, $rev) = explode(".", phpversion()); if($major < 4) { die("Jeg kan kun arbejde med PHP 4.0.0 eller derover"); }
/* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */ if($minor < 1) { $_FILES = $HTTP_POST_FILES; $_POST = $HTTP_POST_VARS; $_SERVER = $HTTP_SERVER_VARS; }
/* Hvor flytter vi fra og til */ $fra = $_FILES["upfil"]["tmp_name"]; $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
/* Accepterer vi filens stoerrelse? */
$fil_stoerrelse = filesize($fra)/1024;
if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) { echo ("Desværre - filen er for stor. Jeg accepterer kun " . $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " . ceil($fil_stoerrelse, 1) . " kb"); } else{ if (file_exists($konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"])) { header ("Location: ../covereksistererallerede.php"); } else{ /* Saa koerer vi */ if(function_exists("move_uploaded_file")) { move_uploaded_file($fra, $til); } else { copy($fra, $til); } header ("Location: takforcover.php"); } }
$konfiguration["max_stoerrelse"] = "2048"; <- dette kunne jo nok forklare, hvorfor den ikke accepterer filer over 2048 ? :)
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.