Avatar billede backside Nybegynder
01. november 2003 - 16:36 Der er 15 kommentarer og
1 løsning

Kun en bestemt størrelse billede må uploades

Hvordan kan man gøre så det kun er en bestemt størrelse billede der må uploades.
Kravene er:
Max. 10kb (den har jeg)
Kun gif format (den har jeg)
Kun størrelse 88*31

Det er den sidste jeg ikke kan finde ud af.
Har lagt den her:
http://www.backside.dk/e/mailform.txt
Avatar billede elskermad.dk Nybegynder
01. november 2003 - 16:40 #1
med functionen getimagesize() sæt filen du har oploadet ind i functionen som fx dette:

<?
size = getimagesize($_FILES[fil][tmp_name]);

$width = $size[0];
$height = $size[1];

if ($width > 88 || $height > 31) {
  //fejl
}
else {
  //videre
}

?>

noget lignende burde kunne bruges :)
Avatar billede elskermad.dk Nybegynder
01. november 2003 - 16:41 #2
self skal size os lige være $size så det bliver en variable ;)

<?
$size = getimagesize($_FILES[fil][tmp_name]);
Avatar billede backside Nybegynder
01. november 2003 - 18:00 #3
Kan ikke få den til at virke.
Avatar billede backside Nybegynder
01. november 2003 - 18:10 #4
Damn, uanset hvad jeg gør får jeg fejl.
Kan du smide en stump af min fil sammen med den der?
Det går mere og mere galt for hver gang jeg prøver. ;)
Avatar billede elskermad.dk Nybegynder
01. november 2003 - 18:51 #5
prøv at smide din fil så kan jeg prøve at sætte det sammen :D
Avatar billede backside Nybegynder
01. november 2003 - 19:03 #6
Har jo skrevet den i spørgsmålet.
Men her er den da. ;)
http://www.backside.dk/e/mailform.txt
Avatar billede elskermad.dk Nybegynder
01. november 2003 - 19:06 #7
argh havde jeg ikke set ;) kigger li på det...!
Avatar billede elskermad.dk Nybegynder
01. november 2003 - 19:11 #8
argh har tit hørt for jeg er meget dårlig til mine indrykninger fra andre på eksperten, men vil nu sige at du måske også kunne sætte dine { og }'er lidt mere jævnt ;)

jeg vil tro at noget lignende dette kunne bruges:

    if($_FILES['attach']){
        if (is_uploaded_file($_FILES['attach']['tmp_name']) && ($_FILES['attach']['tmp_name'] != 'none') && ($_FILES['attach']['tmp_name'] != '')){
            $size = getimagesize($_FILES['attach']['tmp_name']);
            if($_FILES['attach']['size'] > $attach_maxfilesize){
                $errmsg .= "- filen er for stor";
                $general_error = true;
                }
                elseif ($size[0] > 88 || $size[1] > 31) {
                $errmsg .= "- filens størrelse er for stor";
                $general_error = true;                   
                }
            else{
                $attach_filetypes = stripspaces($attach_filetypes);
                $regex = ". \\ + * ? [ ^ ] $ ( ) { } = ! < > | :";
                $regex_array = explode(" ", $regex);
                foreach($regex_array as $regex_a){
                    $attach_filetypes = str_replace($regex_a, "", $attach_filetypes);
                    }
                if(substr($attach_filetypes, -1) == ","){
                    $attach_filetypes = substr($attach_filetypes, 0, -1) ;
                    }
                if($attach_filetypes{0} == ","){
                    $attach_filetypes = substr($attach_filetypes, 1) ;
                    }
                $attach_filetypes_array = explode(",", $attach_filetypes);
                if(in_array(FindExtension($_FILES['attach']['name']), $attach_filetypes_array) == false){
                    $errmsg .= "- det er ikke en tilladt filtype du prøver at sende ";
                    $general_error = true;
                    }
                }

            }
        }

håber du ved hvor det skal sættes ind :D
Avatar billede backside Nybegynder
02. november 2003 - 00:00 #9
Du er genial. ;)
Har lige ændret så den hverken må være mindre eller større end 88*31.
Virker perfekt.

Tak for hjælpen.

Må jeg spørge om noget andet nu den er åben?
Selvfølgelig for flere point.
Avatar billede elskermad.dk Nybegynder
02. november 2003 - 00:04 #10
du spørger bare løs :D dejligt at kunne give ekspertens brugere det tilbage som de har været med til at give mig *ss*
Avatar billede backside Nybegynder
02. november 2003 - 00:08 #11
Får en:
Warning: Bad Message destination in d:\web\xxx\xxx\xxx.php on line 91

Linie 91: foreach ($lines as $l){mail ($l,$subject,$message,$mailheaders);}

Det er et simpelt newsletter script.
Mailen bliver sendt fint nok, men jeg får lige den der efter jeg har sendt.
Avatar billede backside Nybegynder
02. november 2003 - 00:08 #12
Hvad betyder det?
Avatar billede elskermad.dk Nybegynder
02. november 2003 - 00:12 #13
vil tro det er fordi den er inde i den løkke at den brokker sig lidt, men tør ikke sige noget! lidt for avanceret til mig.. måske lidt nemmere hvis du viste lidt mere
Avatar billede backside Nybegynder
02. november 2003 - 00:19 #14
Jeg får 3 styks "warning:......"
Her er lidt mere:

if (!file_exists($filelocation)) {
    $newfile = fopen($filelocation,"w+");
    fclose($newfile);
    }
$newfile = fopen($filelocation,"r");
$content = fread($newfile, filesize($filelocation));
fclose($newfile);
$content=stripslashes($content);
$out="";
$lines = explode("%",$content);
foreach($lines as $l){
    if ($l != $email){$out .= "%".$l;}
    else{$found=1;}
}
if ($action=="sign"){           
    if ($found==1 or $email=="" or !checkmail($email) or preg_match("/".$pattern."/",$email)){
        if ($email==""){echo $sorryblankmailmessage;}
        else if ($found==1){echo $sorrysignmessage;}
        else if (!checkmail($email)){echo $sorryoddmailmessage;}
        else if (preg_match("/".$pattern."/",$email)){echo $sorryownmailmessage;}
        $disp="yes";
    }
    else {
        $disp="no";
        $newfile = fopen($filelocation,"a+");
        $add = "%".$email;
        fwrite($newfile, $add);
        fclose($newfile);
        echo $subscribemessage;
        mail ($youremail,"Ny newsletter tilmelding.",$email."\nslet?

$newsletterlocation?action=delete&email=".$email,"Fra: Newsletter\nReply-To: $email\n");
        $submailheaders = "Fra: $lettername subscription form\n";
        $submailheaders .= "Reply-To: $youremail\n";
        mail ($email,$lettername." tilmelding",$subscribemail,$submailheaders);
    }
}
if ($action=="delete"){       
    $disp="no";
    if ($found == 1){
        $newfile = fopen($filelocation,"w+");
        fwrite($newfile, $out);
        fclose($newfile);
        echo $unsubscribemessage;
        $disp="no";
    }
    if ($found != 1){
        echo $failedunsubscriptionmessage;
        $disp="YES";
    }
}
if ($pw    == $pass){
    if ($send != "yes" && $send != "test"){
        print'<form method="post"><input type="hidden" name=pw value='.$pass.' /><input type="hidden" name="send"

value="yes">
        <br /><b>Udsend nyhedsbrev til alle:</b><br /><br />
        Emne:<br />
        <input type="text" class="input" name="subject" size="20"><br />
        Besked:<br />
        <textarea cols="50" rows="10" class="input" wrap="virtual" name="message"></textarea>&#160;
        <input type="submit" value="send" />
        </form>';
    }
    $mailheaders = "Fra: $lettername\n";
    $mailheaders .= "Reply-To:$youremail\n";

// $mailheaders .= "Content-Type: text/html; charset=iso-8859-1\n";
    if ($send == "yes"){
        $message="".stripslashes($message);
        $subject=stripslashes($subject);
        $lines = explode("%",$content);
        foreach ($lines as $l){mail ($l,$subject,$message,$mailheaders);}
        print "Følgende mail er sendt til alle!";
        print "<pre>$mailheaders\n$subject\n$message</pre>";
    }
}
if ($pw != $pass && $disp != "no"){
    print $welcomemessage;
    print'
    <form method="post">
    Din email:&#160;<input type="text" name="email" class="inputsmall" value="" size="20" />&#160;
    <input type="radio" name="action" value="sign" checked="checked" />Tilmeld
    <input type="radio" name="action" value="delete" />Afmeld&#160;
    <input type="submit" value=" Send! " class="button" />
    </form>
    ';
}
Avatar billede elskermad.dk Nybegynder
02. november 2003 - 00:24 #15
jeg er ked af det backside... men jeg kan slet ikke gennemskue din kode! men ret sikker på det er pga den foreach function, men ved ikke hvad den gør eller ikke gør! prøv at oprette et nyt spm med spørgsmålet... mange derude der er meget klogere og hurtigt kan give dig svaret :)
Avatar billede backside Nybegynder
02. november 2003 - 00:26 #16
Ok, men tak for forsøget.
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