14. november 2004 - 15:21Der er
20 kommentarer og 1 løsning
Upload både stort og lille billede
Jeg har denne kodestump som uploade et billede, samt lægge info i en db. Men jeg kunne godt tænke mig at få gjort som den også uploader en lille størrelse af billedet, også gerne så det fylder mindre, og det skal selvfølgelig ligge i en anden sti. Hvordan dælen gøres det?
if (isset($_POST['submit']) && $_POST['submit'] == "Upload" && $_POST['rettype'] == "redigere") { $source = $_FILES['nyhedsBillede']['tmp_name']; $tekst = $_POST['nyhedsTekst']; $overskrift = $_POST['nyhedsOverskrift']; if (is_file($source)) {//Fanger hvis billede ikke skal ændres if (is_uploaded_file($source)) { if (tjektype($_FILES['nyhedsBillede']['type'])) { $dest = $uploaddir . $_FILES['nyhedsBillede']['name']; $dest = tjekfilnavn($dest); //Sletning af det tidligere billede $queryGammelSti = mysql_query("SELECT sti FROM RS_Nyhed WHERE id = $_POST[nyhedsId]"); $gammelSti = mysql_fetch_array($queryGammelSti); if (file_exists($gammelSti[sti])) {//Tjekker om den gamle fil findes, så den kan slettes hvsi true if (move_uploaded_file($source, $dest)) { unlink($gammelSti[sti]);//Sletter det gamle billede mysql_query("UPDATE RS_Nyhed SET overskrift='$overskrift', tekst='$tekst', sti='$dest' WHERE id = '$_POST[nyhedsId]'"); header("location: adminNyhed.php?nyhedsId=$_POST[nyhedsId]"); } else { $besked = "Der blev ikke gemt noget"; } } else { $besked = "Du prøvede at slette en fil som ikke findes"; } } else { $besked = "Du prøvede at gemme et billedeformat som ikke er tilladt. Du kan gemme billeder i JPEG og PNG formaterne."; } } else { mysql_query("UPDATE RS_Nyhed SET overskrift='$overskrift', tekst='$tekst' WHERE id = '$_POST[nyhedsId]'"); header("location: adminNyhed.php?nyhedsId=$_POST[nyhedsId]"); } } else { //Opdater info hvis ikke billedet skal ændres mysql_query("UPDATE RS_Nyhed SET overskrift='$overskrift', tekst='$tekst' WHERE id = '$_POST[nyhedsId]'"); header("location: adminNyhed.php?nyhedsId=$_POST[nyhedsId]"); } }
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
Jeg har et lille script her, som jeg engang lavede. Det laver en kopi af billedet, som bliver uploaded i 100 pixels bredde. Jeg har tilpasset det til dit script, men der kan være lidt mere, der skal ændres. Det virker dog glimrende:
Okay, er nu selv kommet noget længere, men den driller mig lidt. For den gemme thumbnail under f.eks. "billedenavn.jpg_thumb.jpg". Jeg kan godt under være det midterste .jpg, men hvordan får jeg det væk?
Jeg prøvede at fjerne ".jpg" fra basename, men så uploader den slet ikke nogen thumbnail.
rhandersen--> Øh, ja ja. Du kan da også få det unden point, men vil du af med dem ;-P, så synes jeg også legende.dk, skal have nogle. Men den tid, den sorg.
Du står måske også og skal bruge sådanne et script?
Ahh, har fundet ud af hvad der var galt $_FILES er case-sensetive samt kan den heller ikke lide forskellen på jpg og jpeg, så man bliver altså nødt til at ændre til enten store eller små bogstaver, samt teste for diverse stavemåder på filtyperne.
Jeg er ikek lige hjemme nu, så kan ikke vise min form, men jeg kan da prøve at forklare mine variabler. Jeg springer dog over dem jeg har kommenteret i koden.
$billede = $_FILES['nyhedsBillede']['name']; -> henter navnet plus extension på billedet som ligger i feltet nyhedsBillede.
$tekst, $overskrift -> henter de respektive ting
$oprettelsesDato -> laver en dato på den enkelte nyhed, som jeg gemme i db'en til senere sortering
tjektype og tjekfilnavn -> er nogle jeg har fået hjælp til at lave, men de tjekker bare om filen overholder de krav som jeg har sat f.eks. kun jpg og png
$source -> er navnet på midlertidig fil på serveren
$besked -> Er bare en lille ting, jeg bruger til at sende fejlmeddelelser tilbage til brugeren, hvis noget går galt.
Det var vist det, er der flere eller nogle du stadigvæk ikke helt forstår, så bare skriv.
Jeg har lige været væk en uges tid... Men det lader til at du har fået det til at virke... Det er et rimeligt smukt script, og for at besvare dit spørgsmål, bliver både størrelsen og filstørrelsen nedkogt.
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.