Avatar billede subit Nybegynder
26. maj 2004 - 18:28 Der er 13 kommentarer

kun .jpg og .gif?

hej allesammen!

Jeg har brugt dette upload script:
http://www.webcafe.dk/artikler/php/upload/

Og vil have at der kun må uploades .jpg og .gif filer
Hvordan gør jeg?
Avatar billede krydset Nybegynder
26. maj 2004 - 18:39 #1
jeg har lige lavet det her og det virker kanont :-D


det kan være du kan få glæde af det osse

<?php
/*###################################################################
#                                                                    #
#        Skrevet af Dk Medieburner                                    #                                                                    #       
#                                                                    #
#        Dette her script uploader en fil til et givent                 #
#        bibliotek på server.                                        #
#        derudover tjekker det filens størrelse i $size                #
#        Tjekker osse tilladte filer som bliver sat i dette array    #
#        $allow_files = array("jpg", "bmp", "png", "gif");            #
#        Du kan nemt tilføre flere tilladte filtyper                    #
#        ved at tilføje flere i arrayt på den her måde , "txt"        #       
#        $allow_files = array("jpg", "bmp", "png", "gif", "txt");    #
#        Betyder at osse txt filer tillades                            #
#        Det tjekker osse om filer exixtere inden det uploader        #
#        Så der ikke bliver overskrevet filer                        #
#                                                                    #           
###################################################################*/

$sti = "c:/www/pc-dk.dk/billeder/";
//Sætter filtyperne der er tilladt her i arrayet
$allow_files = array("jpg", "bmp", "png", "gif");
//Sætter max størrelse på filen
//Husk at i php.ini er max størrelse sat til 2 mb som standard,
//og kan give fejl hvis filer er over 2 mb
$size = 20000000; //I bytes
//Finder hvilket filtype der er tale om
$ext = pathinfo($_FILES['upfile']['name']);
//Tjekker om filtypen er tilladt
if(in_array($ext["extension"], $allow_files)) {
    //Tjekker om filen findes
    if(!file_exists("$sti".$_FILES['upfile'][name]."")) {
        //Tjekker om filen er større end det tilladte
        if($_FILES['upfile']['size'] <= $size) {
            //Hvis der bliver lavet en fil
            if(is_uploaded_file($_FILES['upfile']['tmp_name'])) {
                //Flyt filen til det dir og omdøb den til dens rigtige filnavn
                move_uploaded_file($_FILES['upfile']['tmp_name'], "$sti".$_FILES['upfile']['name']."");
            } else {
                echo "ERROR";
            }
        }else {
            echo "Filem er for stor";
        }
    } else {
        echo "Filen existere stopper her";
    }
} else {
    echo "Filtypen er ikke tilladt, stop her";
}
?>


<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="upfile">
<input type="submit" name="upload" value="upload">
</form>
Avatar billede subit Nybegynder
26. maj 2004 - 18:41 #2
krydset::
er ikke så god til det så vil helst gerne beholde det jeg allerede bruger da det er sat ind i mysql og sat sammen med brugersystem osv.
Vil bare gerne have den til kun have tilladelse til at uploade jpg/gif/png filer.
Avatar billede krydset Nybegynder
26. maj 2004 - 18:43 #3
Hmm oki, så hvis mig dit script så skal jeg se om jeg kan indsætte det i
Avatar billede subit Nybegynder
26. maj 2004 - 18:49 #4
ok her er det:

<?
$konfiguration["upload_bibliotek"] = "./images";
$konfiguration["max_stoerrelse"] = "200";

/* 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;
}
$foresp = mysql_query("select * from brugere where navn = '$_SESSION[Name]'");
while($data = mysql_fetch_array($foresp)) { 

/* Hvor flytter vi fra og til */
$fra = $_FILES["upfil"]["tmp_name"];
$til = $konfiguration["upload_bibliotek"] . "/" . "$data[navn]_" . $_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);
}
} else {
?>
<form action="billede.upload.php" method="post" enctype="multipart/form-data">
<INPUT TYPE=HIDDEN NAME=opret>
Billede:  <input type="file" name="upfil" />
<br><br>
<input type="submit" value="upload" /><br>
</form>
Avatar billede sukos Juniormester
26. maj 2004 - 18:49 #5
if($_FILES["upfil"]["size"] > 0) {

if(false == ($str = getimagesize($_FILES["upfile"]["tmp_name"]))) {
echo"Valgte fil til upload er ikke en billedfil!!!";
exit();
}

if($str[2] > 2) {
echo"Kun jpg og gif filer kan uploades!!!";
exit();
}
Avatar billede krydset Nybegynder
26. maj 2004 - 18:55 #6
prøv det her

<?
$konfiguration["upload_bibliotek"] = "./images";
$konfiguration["max_stoerrelse"] = "200";

/* 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;
}


$allow_files = array("jpg", "bmp", "png", "gif");  //Her vælger du hvilke filtyper der er tilladte
$ext = pathinfo($_FILES['upfil']['name']);
//Tjekker om filtypen er tilladt
if(in_array($ext["extension"], $allow_files)) {
    //Tjekker om filen findes


$foresp = mysql_query("select * from brugere where navn = '$_SESSION[Name]'");
while($data = mysql_fetch_array($foresp)) { 

/* Hvor flytter vi fra og til */
$fra = $_FILES["upfil"]["tmp_name"];
$til = $konfiguration["upload_bibliotek"] . "/" . "$data[navn]_" . $_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);
}
} else {
    echo "FILTYPE IKKE TILLADT";
}

?>
<form action="billede.upload.php" method="post" enctype="multipart/form-data">
<INPUT TYPE=HIDDEN NAME=opret>
Billede:  <input type="file" name="upfil" />
<br><br>
<input type="submit" value="upload" /><br>
</form>
Avatar billede subit Nybegynder
26. maj 2004 - 18:55 #7
så virker det slet ik?
Avatar billede krydset Nybegynder
26. maj 2004 - 19:06 #8
hvorfor slutter dit script sådan her der
}
} else {
?>

der mangler noget evt efter html formen ?
Avatar billede subit Nybegynder
26. maj 2004 - 19:09 #9
Fordi at det ender sådan her:

}
} else {
?>
<form action="billede.upload.php" method="post" enctype="multipart/form-data">
<INPUT TYPE=HIDDEN NAME=opret>
Billede:  <input type="file" name="upfil" />
<br><br>
<input type="submit" value="upload" /><br>
</form>

<?
}
?>

:D ku du fixe det andet? har prøvet alt :(
Avatar billede krydset Nybegynder
26. maj 2004 - 19:12 #10
prøv det her

<?
$konfiguration["upload_bibliotek"] = "./images";
$konfiguration["max_stoerrelse"] = "200";

/* 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;
}
$foresp = mysql_query("select * from brugere where navn = '$_SESSION[Name]'");
while($data = mysql_fetch_array($foresp)) { 

/* Hvor flytter vi fra og til */
$fra = $_FILES["upfil"]["tmp_name"];
$til = $konfiguration["upload_bibliotek"] . "/" . "$data[navn]_" . $_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");
}

$allow_files = array("jpg", "bmp", "png", "gif");
$ext = pathinfo($_FILES['upfil']['name']);

if(in_array($ext["extension"], $allow_files)) {

/* Saa koerer vi */
if(function_exists("move_uploaded_file")) {
  move_uploaded_file($fra, $til);
} else {
  copy($fra, $til);
}
}else {
    echo "fil tillades ikke";
}
?>
<form action="billede.upload.php" method="post" enctype="multipart/form-data">
<INPUT TYPE=HIDDEN NAME=opret>
Billede:  <input type="file" name="upfil" />
<br><br>
<input type="submit" value="upload" /><br>
</form>
Avatar billede subit Nybegynder
26. maj 2004 - 19:29 #11
virker heller ikke :(
Siden bliver bare blank.
Avatar billede sukos Juniormester
26. maj 2004 - 19:32 #12
/* Hvor flytter vi fra og til */
$fra = $_FILES["upfil"]["tmp_name"];
$til = $konfiguration["upload_bibliotek"] . "/" . "$data[navn]_" . $_FILES["upfil"]["name"];
}

if(false == ($str = getimagesize($_FILES["upfil"]["tmp_name"]))) {
echo"Valgte fil til upload er ikke en billedfil!!!";
exit();
}

if($str[2] > 2) {
echo"Kun jpg og gif filer kan uploades!!!";
exit();
}


..............resten af dit oprindelige script
Avatar billede sukos Juniormester
26. maj 2004 - 19:42 #13
<?php
if(isset($_POST["opret"])) {

$konfiguration["upload_bibliotek"] = "./images";
$konfiguration["max_stoerrelse"] = "200";

/* 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;
}

if(false == ($str = getimagesize($_FILES["upfil"]["tmp_name"]))) {
echo"Valgte fil til upload er ikke en billedfil!!!";
exit();
}

if($str[2] > 2) {
echo"Kun jpg og gif filer kan uploades!!!";
exit();
}


$foresp = mysql_query("select * from brugere where navn = '$_SESSION[Name]'");
$data = mysql_fetch_array($foresp);

/* Hvor flytter vi fra og til */
$fra = $_FILES["upfil"]["tmp_name"];
$til = $konfiguration["upload_bibliotek"] ."/". $data["navn"] ."_". $_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);
}
} else {
?>
<form action="billede.upload.php" method="post" enctype="multipart/form-data">
<INPUT TYPE=HIDDEN NAME=opret>
Billede:  <input type="file" name="upfil" />
<br><br>
<input type="submit" value="upload" /><br>
</form><?php
}
?>
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