Avatar billede chrisb Nybegynder
03. april 2003 - 13:32 Der er 13 kommentarer og
1 løsning

upload... :(

Jeg er en lige startet med af leje med PHP og det er dejligt... :)
men nu har jeg kastet mig ud i noget jeg så ikke lige havde styr på..
Jeg skal bruge et script der uploader en fil (billede og pdf) til nogle bestemte biblioteker, samt at fil navnet og nogle andre felter skal ligges op i en MySQL base.
Fil navnene skal også være fortløbende numre men med det rigtige efternavn (gif,jpg og pdf)
er der nogen der kan hjælpe mig, jeg er lidt lost... (søvnløs i 2 dage nu.. )
Avatar billede avminarm Juniormester
03. april 2003 - 13:37 #1
har du lavet noget kode?? - så vis det! ellers se på www.sukos.dk - han har et uploadscript liggende - det skulle være nemt at kombineret med noget i en database
Avatar billede chrisb Nybegynder
03. april 2003 - 13:50 #2
Jeg har ikke noget der kan bruges til noget... :(
For jeg er startet forfra en milliard million gange..
Det er det med det fortløbende navn og basen der går galt..
Uploaded en fil fra en form er nemt nok... :)

//ChrisB
Avatar billede schaefner Juniormester
03. april 2003 - 13:53 #3
Utestet. Er lidt i tvivl hvorvidt man kan hive info udfra $_FILES['fil']['name'], men her kommer et lile hurtigt sammenflækket eksempel.

<form method="post" action="" enctype="multipart/form-data">
Hvilken fil skal uploades?<br>
<input type="file" name="fil"><br>
<input type="submit" name="upload" value="Upload"">
</form>
<hr>

<?php
if (isset($_POST['upload'])) {
  $dist = /mappe/";
  mysql_connect("","","");
  mysql_select_db("");
  $get = mysql_query("SELECT * FROM tabel ORDER BY id DESC LIMIT 0,1");
  $row = mysql_fetch_array($get);
  $id= $row[id]+1;
  $path = pathinfo($_FILES['fil']['name']);
  $endelse = $path["extension"];
  $filnavn = "$id.$endelse";

  mysql_query("INSERT INTO tabel (filnavn) VALUES ('$filnavn')");

  move_uploaded_files($_FILES['fil']['tmp_name'], $dist.$filnavn);
}
?>

Kræver at du har en tabel i databasen med et fortløbende nr. kaldet id og et felt kaldet filnavn.
Avatar billede avminarm Juniormester
03. april 2003 - 13:57 #4
har du phpmyadmin? - når du oprettet tabeller skal det fortløbende felt være "auto_increment" - det betyder der automatisk lægges en til hver gang
Avatar billede chrisb Nybegynder
03. april 2003 - 14:13 #5
Du Schaefner kom lige med et svar så du kan få nogle point..
Jeg takker og bukker... Det var lige det jeg manglede...

Men hvis der er nogen der ved det med at tjecke fil typen på en PDF, så kom lige med det... :P
Avatar billede chrisb Nybegynder
03. april 2003 - 14:24 #6
det er application/pdf for pdf... :)
Avatar billede chrisb Nybegynder
03. april 2003 - 14:35 #7
Hvad hvis der er 2 eller måske 5 filer?
Avatar billede schaefner Juniormester
03. april 2003 - 16:18 #8
svar :)
Avatar billede chrisb Nybegynder
03. april 2003 - 16:37 #9
Hmm... kan det script ikke modificeres til flere filer???
bare så den laver en løkke så hvis jeg har flere filer som skal op i samme 'row' i basen... :)
f.eks et galleri.. id,info,pic1,pic2,pic3,pic4,pic5
Avatar billede eagleeye Praktikant
03. april 2003 - 19:24 #10
Jeg kan ikke rette i teksten men jeg kan posten indlæget igen.

Kommentar: schaefner
03/04-2003 14:00:06

<form method="post" action="" enctype="multipart/form-data">
Hvilken fil skal uploades?<br>
<input type="file" name="fil"><br>
<input type="submit" name="upload" value="Upload"">
</form>
<hr>

<?php
if (isset($_POST['upload'])) {
  $dist = "filer/";
  mysql_connect("","","");
  mysql_select_db("");
  $get = mysql_query("SELECT * FROM tabel ORDER BY id DESC LIMIT 0,1");
  $row = mysql_fetch_array($get);
  $id= $row[id]+1;
  $path = pathinfo($_FILES['fil']['name']);
  $endelse = $path["extension"];
  $filnavn = "$id.$endelse";

  mysql_query("INSERT INTO tabel (filnavn) VALUES ('$filnavn')");

  move_uploaded_file($_FILES['fil']['tmp_name'], $dist.$filnavn);
}
?>

eagleeye / CoAdmin
Avatar billede eagleeye Praktikant
03. april 2003 - 19:26 #11
Kommentar: schaefner
03/04-2003 14:04:15


og sådan her kan du tjekke om filtypen er korrekt:

<?php
if (isset($_POST['upload'])) {
  $filtyper = array("image/gif","image/jpg","image/jpeg");
  if (!in_array($_FILES['fil']['type'], $filtyper)) {
    echo "Ikke den slags filer";
  } else {
    $dist = "filer/";
    mysql_connect("","","");
    mysql_select_db("");
    $get = mysql_query("SELECT * FROM tabel ORDER BY id DESC LIMIT 0,1");
    $row = mysql_fetch_array($get);
    $id= $row[id]+1;
    $path = pathinfo($_FILES['fil']['name']);
    $endelse = $path["extension"];
    $filnavn = "$id.$endelse";

    mysql_query("INSERT INTO tabel (filnavn) VALUES ('$filnavn')");
    move_uploaded_file($_FILES['fil']['tmp_name'], $dist.$filnavn);
  }
}
?>

Kan ikke lige huske hvordan der tjekker på pdf.
Avatar billede schaefner Juniormester
03. april 2003 - 20:22 #12
eagleeye >> Jeg takker mange gange :)
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