Avatar billede gqo Nybegynder
15. november 2011 - 12:32 Der er 3 kommentarer og
1 løsning

upload af billed til mysql max 48x48 px

Hej. Lidt hjælp igen pft.
Har et script til billedupload til mysql, det virker 100%, men hvordan kan man ændre i script så kun billeder på eks. 48x48 px bliver uploadet??

Se kode Her.


<?php
echo $_POST['medlemsnummer'];
$d=$_POST['medlemsnummer'];
include "filfunktionerny.php";
mysql_connect('localhost', 'root', '');
mysql_select_db('forening') or die("Could not select database");
  if(!empty($_FILES) && isset($_POST['medlemsnummer']) &&
    $_FILES['fil']['name'] != 'none' &&
    $_FILES['fil']['size'] != 0)
    upload_fil(    $_POST['medlemsnummer'],
            $_FILES['fil']['tmp_name'],
            $_FILES['fil']['size'],
            $_FILES['fil']['type']);
$foresp = mysql_query(
    "SELECT navn, medlemsnummer, " .
    "vejnavn, byer, " .
    "billede_size " .
"FROM medlemmer WHERE medlemsnummer ='$d'");
echo mysql_error();
while($post = mysql_fetch_array($foresp)){
if($post['billede_size'] == 0)
  vis_medlem(    $post['medlemsnummer'],
        $post['navn'],
        $post['vejnavn'],
        $post['byer'],
        //$post['tlfnr'],
        false);
else
  vis_medlem(    $post['medlemsnummer'],
        $post['navn'],
        $post['vejnavn'],
        $post['byer'],
    //    $post['tlfnr'],
        true);
}
?>
<div style='position:absolute;left:25px;top:300px;' />

<?php
if(!empty($_FILES)){;
$fil = $_FILES['fil'];

// Kontrolere om uploaden gik godt
if ($fil["error"] > 0) {
echo "Uploaden mislykkedes. Fejlkode: " . $fil["error"];
} else {
echo "Oplysninger om den uploadede fil:<br/>";
echo "Navn: " . $fil['name'] . "<br/>";
echo "Type: " . $fil['type'] . "<br/>";
echo "Størrelse: " . $fil['size'] . "bytes<br/>";
echo "Midlertidigt gemt i " . $fil['tmp_name'] . "<br/>";
}
}
?>

opkald (include) til  denne fil: >filfunktionerny<

<?php
function upload_fil($medlemsnummer, $filnavn, $size, $type){
$pointer = fopen($filnavn, "rb");
$data = fread($pointer, $size);
$data = addslashes($data);
mysql_query(
    "UPDATE medlemmer SET " .
    "billede = '$data', " .
    "billede_size = '$size', " .
    "billede_type = '$type' " .
    "WHERE medlemsnummer = $medlemsnummer");
}
function vis_medlem(
    $medlemsnummer,
    $navn,
    $vejnavn,
    $byer,
    $tlfnr){
echo "<form method='post' action='uploadbilledeny.php' enctype='multipart/form-data'>\n";
echo "<input type='hidden' name='medlemsnummer' value='$medlemsnummer' />\n";
echo "<div style='position:absolute;left:25px;top:5px;' />";
  echo "<img src='visbillede.php?medlemsnummer=$medlemsnummer'>\n";

echo "<font color='yellow',$medlemsnummer<br />";
echo "<b>$navn</b><br />";
echo "$vejnavn $byer<br />";

//echo "$tlfnr <br />\n";
echo "<input type='hidden' name='MAX_FILE_SIZE value='16384' />\n";
echo "<input type='file' name='fil' />\n";
echo "<input type='submit' value='opdater' />\n";
echo "</form>\n";
echo "<form action='formular.php'>";
echo "<input type='submit' value='Retur' />";
echo "</form>";
echo "</div>";
}
?>
Avatar billede inteeeL Nybegynder
16. november 2011 - 09:44 #1
Hej gqo.

Der findes en funktion, der kan løse problemet for dig; getimagesize();. Med den funktion kan du liste x og y op og dermed finde ud af, om billedet er 48px * 48px. Det  gør du ved følgende:


list( $width, $height) = getimagesize( $_FILES['fil']['tmp_name']);
if(($witdth == 48) && ( $height == 48)) {
  //Fortsæt funktion
}
else {
  Returner fejlmeddelelse
}


Ovenstående skal du have implementeret i validerings-delen af scriptet.
Avatar billede gqo Nybegynder
16. november 2011 - 10:08 #2
Hej tak for svaret, er nok ikke 'klog' nok til at sige præsis hvor dit script skal indsættes?? så.. hvis du venligst vil give et svar igen..Pft. Gert
Avatar billede gqo Nybegynder
17. november 2011 - 20:14 #3
Tak for svaret, har løst problemet ved hjælp af dit svar, så smid et svar, pft. Gert
Avatar billede inteeeL Nybegynder
19. november 2011 - 00:17 #4
Selvtak :-)
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