14. marts 2006 - 12:42Der er
19 kommentarer og 1 løsning
Hjælp til at udbygge upload script.
Hej alle sammen når min chef syntes vi skulle til at leje med eFaktura og det er også fint men nu sider jeg med opgaven at lave en side hvor de kan uploade deres xml filer det ser sådan her ud men der skulle gerne være mulighed for at uploade flere filer på engang men jeg skal stadig ha mine functions til at virke på være fil og den kan jeg sku ikke lige se hvordan jeg gør håber på lidt hjælp.
// læser filtag i XMl. $linjer = file( $uploadfile ); foreach ( $linjer as $linje ) { if ( preg_match( "/<com:BuyersReferenceID/", $linje ) ) { //echo "$linje<br>\n"; $filetag = "$linje<br>\n"; } } //læsning slut
if ($uploadfile == ""){ $error="Der er sket en internfejl prøv igen..! (Fejl kode 00)";
}
else if ($dato == ""){ $error="Der er sket en fejl kontakt uninest.dk fejl (kode 01)"; }
else if ($filetag == ""){ $error="Der kunde IKKE læses et modtager ID fra filen.! kontakt uninest.dk (fejl kode 02)"; } if (checkfile($uploadfile)){ $mysql=""; }
// Hvis alt er ok skriver vi logen her..! if ($mysql==""){ mysql_query("insert into uploadlog (Bruger, Filnavn, Dato, Tid, Filtag ) values ('$bruger', '$uploadfile', '$dato', '$time', '$filetag')") or die (mysql_error()); $error2="Filen er modtaget og den interne logbog er opdateret.!";
For at uploade flere filer, skal du tilføje flere felter... <input type="file" name="userfile[1]"><br> <input type="file" name="userfile[2]"><br> <input type="file" name="userfile[3]"><br> osv...
Alle steder hvor du så bruger $_FILES['userfile'][og noget] skal du tilføje: [1], [2] osv... Evt kan du løbe dem igennem med: foreach($_FILES['userfile'] as $file)
Jeg kan ikke lige se hvordan jeg skal få den til at sige ok tiL at uploade hvis folk vælger at uploade f.eks hvis jeg laver 4 boxe men der forsøges at uploade 2 filer kommer min kode jo og siger der er fejl. fordi der er flere felter der er tomme..
Du laver f.eks. en for-løkke som løber alle 5 filer igennem. Inden du så laver noget på filen, tjekker du lige for($i = 1; $i <= 5; $i++) { if($_FILES[userfile][size][$i] > 0) { //Her har vi en fil... } { Er size
Hmm det må jeg lige kikke på men må ind rømme jeg ikke lige kan få det til at passe sammen i mit lille hoved
denne lille stump bliver kørt være gang der er uploadet som det første: $linjer = file( $uploadfile ); foreach ( $linjer as $linje ) { if ( preg_match( "/<com:BuyersReferenceID/", $linje ) ) { //echo "$linje<br>\n"; $filetag = "$linje<br>\n"; } } //læsning slut
Hvordan ville du så få den til at læse fra alle de filer der er uploadet og skrive dem i være deres variabel så de senere kan skrives til databasen.
if(checkfile($uploadfile)) { echo "Filen $uploadfile findes allerede på serveren."; //showform(); listfiles(); } else { if(move_uploaded_file($file['tmp_name'], $uploadfile)) { // læser filtag i XMl. $linjer = file( $uploadfile ); foreach ( $linjer as $linje ) { if ( preg_match( "/<com:BuyersReferenceID/", $linje ) ) { //echo "$linje<br>\n"; $filetag = "$linje<br>\n"; } }
//læsning slut
if ($uploadfile == "") { $error="Der er sket en internfejl prøv igen..! (Fejl kode 00)"; } else if ($dato == "") { $error="Der er sket en fejl kontakt uninest.dk fejl (kode 01)"; } else if ($filetag == "") { $error="Der kunde IKKE læses et modtager ID fra filen.! kontakt uninest.dk (fejl kode 02)"; }
if (checkfile($uploadfile)) { $mysql=""; }
// Hvis alt er ok skriver vi logen her..! if ($mysql=="") { mysql_query("insert into uploadlog (Bruger, Filnavn, Dato, Tid, Filtag ) values ('$bruger', '$uploadfile', '$dato', '$time', '$filetag')") or die (mysql_error()); $error2="Filen er modtaget og den interne logbog er opdateret.!";
if(checkfile($uploadfile)) { echo "Filen $uploadfile findes allerede på serveren."; //showform(); listfiles(); } else { if(move_uploaded_file($_FILES['userfile']['tmp_name'][$i], $uploadfile)) { // læser filtag i XML. $linjer = file( $uploadfile ); foreach ( $linjer as $linje ) { if ( preg_match( "/<com:BuyersReferenceID/", $linje ) ) { //echo "$linje<br>\n"; $filetag = "$linje<br>\n"; } }
//læsning slut if ($uploadfile == "") { $error="Der er sket en internfejl prøv igen..! (Fejl kode 00)"; } else if ($dato == "") { $error="Der er sket en fejl kontakt uninest.dk fejl (kode 01)"; } else if ($filetag == "") { $error="Der kunde IKKE læses et modtager ID fra filen.! kontakt uninest.dk (fejl kode 02)"; }
// Hvis alt er ok skriver vi logen her..! if (checkfile($uploadfile)) { mysql_query("insert into uploadlog (Bruger, Filnavn, Dato, Tid, Filtag ) values ('$bruger', '$uploadfile', '$dato', '$time', '$filetag')") or die (mysql_error()); $error2="Filen er modtaget og den interne logbog er opdateret.!";
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.