Avatar billede jesper-madsen Nybegynder
10. august 2005 - 14:32 Der er 13 kommentarer og
1 løsning

WebCafe upload script..

en der kan lave dette script til at lave
billede filen til $_SESSION[brugernavn].jpg/gif

også kun gøre sådan man kan uploade .jpg og .gif filer..

på forhånd tak!!

->



<?php





$konfiguration["upload_bibliotek"] = "./galleri";

$konfiguration["max_stoerrelse"] = "30";



list($major, $minor, $rev) = explode(".", phpversion());
if($major < 4) {
  die("Jeg kan kun arbejde med PHP 4.0.0 eller derover");
}



if($minor < 1) {
  $_FILES = $HTTP_POST_FILES;
  $_POST = $HTTP_POST_VARS;
  $_SERVER = $HTTP_SERVER_VARS;
}


if($_FILES["upfil"]["size"] > 0) {

 

  $fra = $_FILES["upfil"]["tmp_name"];
  $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];

  $fil_stoerrelse = filesize($fra)/1024;
  if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) {
      die("Desv&aelig;rre - filen er for stor. Jeg accepterer kun " .
          $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .
          ceil($fil_stoerrelse) . "kb");
  }
  if(function_exists("move_uploaded_file")) {
    move_uploaded_file($fra, $til);
  } else {
    copy($fra, $til);
  }

  header("Location: " . $_SERVER["PHP_SELF"]);
  exit;

} else {


  $indhold = listFiler($konfiguration["upload_bibliotek"]);
  $indhold .= bygFormular($_SERVER["PHP_SELF"]);
  $output = bygSide("hej", $indhold);

}


echo $output;
exit;





function bygSide($titel, $indhold) {

  /**
  * Pakker indholdet ind i lidt formalia
  */
  return '<html>
            <head><title>' . $titel . '</title></head>
            <body>
           
              ' . $indhold . '</body>
          </html>
        ';

}

function bygFormular($action) {

  $formular = '<form action="' . $action . '" method="post" enctype="multipart/form-data">
                <table border="0" cellpadding="5" cellspacing="0">
                  <tr>
                    <td align="right"></td>
                    <td ><input type="file" name="upfil" class="lilleoverskrift" style="border: 1px;  background-color:white; margin:1; border-color:#CB7005; border-style:solid;"></td>
                  </tr>
                  <tr>
                    <td colspan="2" align="left"><input type="submit" value="upload" class="lilleoverskrift" style="border: 1px;  background-color:white; margin:1; border-color:#CB7005; border-style:solid;"></td>
                  </tr>
                </table>
              </form>
              ';

  return "" . $formular;

}

function listFiler($bibliotek) {

  if($bib = @opendir($bibliotek)) {
 
    while (false !== ($fil = readdir($bib))) {
      if($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) {
          $fil_liste[] = "";
      }
    }
    closedir($bib);

    if(is_array($fil_liste)) {
      $liste = "";
    } else {
      $liste = "<";
    }
    return "";
  } else {
    die("" . $bibliotek);
  }

}

?>
Avatar billede jesper-madsen Nybegynder
10. august 2005 - 14:36 #1
så er der 35 point!!
Avatar billede jesper-madsen Nybegynder
10. august 2005 - 16:16 #2
er der ikke nok en der vil? :(
vil så gerne ha' det!
Avatar billede jesper-madsen Nybegynder
10. august 2005 - 16:36 #3
HALLO?
Avatar billede jakobdo Ekspert
10. august 2005 - 20:43 #4
Ret denne linie:
$til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
til:
$til = $konfiguration["upload_bibliotek"] . "/" . $_SESSION['brugernavn'] . ".jpg";
Avatar billede jesper-madsen Nybegynder
10. august 2005 - 20:49 #5
Hvad hvis man så uploader et .gif fil?

og kan du lave det med kun .jpg&gif  filer?
Avatar billede jakobdo Ekspert
10. august 2005 - 20:49 #6
$size = getimagesize($fra);
$ext = "";
switch($size[2])
{
case 1:
$ext = "gif";
break;
case 2:
$ext = "jpg";
break;
}
og så:
$til = $konfiguration["upload_bibliotek"] . "/" . $_SESSION['brugernavn'] . "." . $ext;
Avatar billede jesper-madsen Nybegynder
10. august 2005 - 21:01 #7
Hej, nu uploader den slet ikke. Hvad er der sket?
Avatar billede jesper-madsen Nybegynder
10. august 2005 - 21:02 #8
har:


if($_FILES["upfil"]["size"] > 0) {

 

$size = getimagesize($fra);
$ext = "";
switch($size[2])
{
case 1:
$ext = "gif";
break;
case 2:
$ext = "jpg";
break;
}

  $til = $konfiguration["upload_bibliotek"] . "/" . $_SESSION['brugernavn'] . "." . $ext;

  $fil_stoerrelse = filesize($fra)/1024;
Avatar billede jakobdo Ekspert
10. august 2005 - 21:12 #9
Prøv at test dette stykke:

(du skal lige passe det ind i dit allerede eksisterende kode:

if($_FILES["upfil"]["size"] > 0)
{
  $fra = $_FILES["upfil"]["tmp_name"];
 
  $size = getimagesize($fra);
    $ext = "";
    switch($size[2])
    {
        case 1:
            $ext = "gif";
            break;
        case 2:
            $ext = "jpg";
            break;
        default:
            $ext = "tmp";
    }
 
  $til = $konfiguration["upload_bibliotek"] . "/" . $_SESSION['brugernavn'] . "." . $ext;

  $fil_stoerrelse = filesize($fra)/1024;
  if($fil_stoerrelse > $konfiguration["max_stoerrelse"])
  {
        die("Desv&aelig;rre - filen er for stor. Jeg accepterer kun " .
        $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .
        ceil($fil_stoerrelse) . "kb");
  }
 
  if(function_exists("move_uploaded_file"))
  {
        move_uploaded_file($fra, $til);
  }
  else
  {
        copy($fra, $til);
  }

    header("Location: " . $_SERVER["PHP_SELF"]);
    exit;

}
Avatar billede jesper-madsen Nybegynder
10. august 2005 - 21:15 #10
Perfekt. tak for hjælpen.. Kan du lave således man kun kan uploade .jpg og .gif filer?
Avatar billede jakobdo Ekspert
10. august 2005 - 21:21 #11
Det er ikke smukt, men et hurtigt hack kunne være:

default:
  echo "Forkert billede format, kun gif/jpg/jpeg";
exit();
Avatar billede jesper-madsen Nybegynder
10. august 2005 - 21:22 #12
Du en skat :D smid svar!
Avatar billede jakobdo Ekspert
10. august 2005 - 21:24 #13
En skat, jeg ved ikke om jeg skal sige tak! :o)
Men en svar skal du få.
Avatar billede jakobdo Ekspert
10. august 2005 - 21:59 #14
Takker for point!
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