Avatar billede bryrup Nybegynder
30. december 2003 - 22:48 Der er 10 kommentarer og
1 løsning

Problem ved opret + resize script

Hey alle....

Har dette script..:

<?php

/* Funktion der klarer sql-forespørgsel der IKKE modtager data */

function sql_spoerg($query) {
   
    $resultat = mysql_query($query);

}

/* Hovedfunktioen */

function resizeimage($filnavn) {
    //$filnavn = "/fotoalbum/full/".$filnavn."";
    $mappe = "/fotoalbum/thumb";
  // Find højde og bredde på billede
    $size = getimagesize($filnavn);
    $width = $size[0];
    $height = $size[1];

    $formindsk = 100;  // Max højde eller bredde på billedet

    if ($width > $height) {
    $newheight = $height / ($width / $formindsk) . "<br><br>";
    $newwith = $formindsk;
    } else {
    $newwidth = $width / ($height / $formindsk);
    $newheigt = $formindsk;
    }

    //Find thumbnail navn
    $nytnavn = ereg_replace("\..{3}$", "", $filnavn);
    $nytnavn = $nytnavn . "_thumbnail.jpg";

    //åben det originale billede
    $src = imagecreatefromjpeg($filnavn);
   
    //lav et nyt billede
    $im = imagecreate($newwidth, $newheight);
   
    //gem billede
    imagecopyresized($im, $src, 0,0,0,0, $newwidth, $newheight, $width, $height);
    ImageJpeg($im, $mappe . $nytnavn);

    header("location:sql.php?$full=$filnavn&thumb$nytnavn");
}

function upload_fil($fil, $max_stoerrelse = 100, $bibliotek = "default", $filtyper_tilladt = "default") {

    if ($bibliotek == "default") {
        $bibliotek = "/fotoalbum/full";
    }

    if ($filtyper_tilladt == "default") {
        $filtyper_tilladt = array("image/bmp", "image/jpeg", "image/tiff", "image/png", "image/gif", "application/pdf", "application/zip", "application/arj", "application/x-zip-compressed", "application/octet-stream");
    }

    if ($fil["size"] > 0) {
       
        $filnavn = strtolower(ereg_replace(" ", "_", $fil["name"]));
        $fil_sti = $bibliotek . "/" . $filnavn;
        $fra = $fil["tmp_name"];
        $fil_stoerrelse = filesize($fra)/1024;
        $filtype = $fil["type"];
        $fejl = "0";

        if(!in_array($filtype, $filtyper_tilladt)) {
            echo "<p>Filtypen '$filtype' er ikke tilladt. De tilladte filtyper er '" . implode("', '", $filtyper_tilladt) . "'. Filen $filnavn kan derfor ikke uploades!</p>";
            return false;
        }
        if ($fil_stoerrelse > $max_stoerrelse) {
            echo "<p>Filen '$filnavn' er for stor og kan ikke uploades. Den fylder " . ceil($fil_stoerrelse) . " kb og der kan maximalt uploades $max_stoerrelse kb!</p>";
            return false;
        }
        if ($fejl == "0") {
            if (file_exists(getcwd() . $fil_sti)) {
               
                $pos = strrpos($filnavn, ".");
                $navn = substr($filnavn, 0, $pos);
                $type = substr($filnavn, $pos + 1, strlen($filnavn) - ($pos + 1));
                $i = 2;
               
                while (file_exists(getcwd() . $fil_sti)) {
                    $filnavn = $navn . "(" . $i . ")." . $type;
                    $fil_sti = $bibliotek . "/" . $filnavn;
                    $i++;
                }
            }

            $til = $_SERVER["DOCUMENT_ROOT"] . $fil_sti;

            if (move_uploaded_file($fra, $til)) {
            resizeimage($fil_sti);
            } else {
                $fejlmed = "Desværre, din fil kunne ikke uploades!";
                return false;
            }
        }
    } else {
        echo "Der er ikke indtastet nogen fil!";
    }
   
   
   
}

    $fil = $_FILES["upfil"];
    $max_stoerrelse = 300;
    $upload_mappe = "/fotoalbum/full";
    $filer_tilladt = array("image/pjpeg", "image/bmp", "image/jpeg", "image/tiff", "image/png", "image/gif", "image/jpg");

    upload_fil($fil, $max_stoerrelse, $upload_mappe, $filer_tilladt);
   
   
?>

Kan i se nogle fejl...
Prøv at upload et billede what ever på www.bryrup.net/fotoalbum/opload.php
tag jer ik af de fejl på den side....!! men næste!!

håber i forstår

Bryrup
Avatar billede erikjacobsen Ekspert
30. december 2003 - 23:20 #1
Dit katalog ligger ikke i filsystemets rod:
$mappe = "/fotoalbum/thumb";
Måske blot
$mappe = "fotoalbum/thumb";
Avatar billede bryrup Nybegynder
30. december 2003 - 23:46 #2
Nej desværre... den kan godt oploade det første billede... altså det normale.. men thumbnailsne sker der ikke noget med nu.... den går vidre som den skal og viser ingen fejl men billedet bliver ikke kopieret!!
Avatar billede erikjacobsen Ekspert
30. december 2003 - 23:48 #3
$_SERVER["DOCUMENT_ROOT"] bruger du til billedet, men ikke til dit thumbnail.
Avatar billede bryrup Nybegynder
30. december 2003 - 23:49 #4
Hvis der er nogle som bare kender et andet resize script som der kan plottes ind, er jeg også glad... det skal bare være et hvor man kan bestemme at max højde er 200 pixels!!
Avatar billede erikjacobsen Ekspert
30. december 2003 - 23:53 #5
Prøv at rette
  resizeimage($fil_sti);
til
  resizeimage($til);
Avatar billede bryrup Nybegynder
31. december 2003 - 00:05 #6
Nye fejl


Warning: imagejpeg() [function.imagejpeg]: open_basedir restriction in effect. File(/thumbs/STORE/bryrup_net/public_html/fotoalbum/full/picture_23_thumbnail.jpg) is not within the allowed path(s): (/STORE/bryrup_net) in /STORE/bryrup_net/public_html/fotoalbum/do.php on line 43

Warning: imagejpeg() [function.imagejpeg]: Invalid filename '/thumbs/STORE/bryrup_net/public_html/fotoalbum/full/picture_23_thumbnail.jpg' in /STORE/bryrup_net/public_html/fotoalbum/do.php on line 43

Warning: Cannot modify header information - headers already sent by (output started at /STORE/bryrup_net/public_html/fotoalbum/do.php:43) in /STORE/bryrup_net/public_html/fotoalbum/do.php on line 45
Avatar billede erikjacobsen Ekspert
31. december 2003 - 00:09 #7
Ja, for i  ImageJpeg($im, $mappe . $nytnavn);
bruger du $mappe, som ikke har en     $_SERVER["DOCUMENT_ROOT"]  foran.

Du skal lige skelne mellem filerne på disken, og det man skriver i URL-en
Avatar billede bryrup Nybegynder
31. december 2003 - 00:12 #8
nye fejl


Warning: imagejpeg() [function.imagejpeg]: Unable to open '/STORE/bryrup_net/public_html/thumbs/STORE/bryrup_net/public_html/fotoalbum/full/picture_23_thumbnail.jpg' for writing in /STORE/bryrup_net/public_html/fotoalbum/do.php on line 44

Warning: Cannot modify header information - headers already sent by (output started at /STORE/bryrup_net/public_html/fotoalbum/do.php:44) in /STORE/bryrup_net/public_html/fotoalbum/do.php on line 46
Avatar billede erikjacobsen Ekspert
31. december 2003 - 00:15 #9
Du kan godt se at nu er $_SERVER["DOCUMENT_ROOT"] kommet på to gange, ikke?
Det står faktisk nogenlunde hvad der er galt i de fejlbeskedder.
Avatar billede bryrup Nybegynder
31. december 2003 - 16:39 #10
Lukker....
Avatar billede bryrup Nybegynder
31. december 2003 - 16:40 #11
.
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