Avatar billede vix-mix Nybegynder
31. oktober 2005 - 21:09 Der er 6 kommentarer og
1 løsning

Hjælp til billede upload

Hej eksperter

Jeg har følgende script:
<?php

if (isset($_POST['submit'])) {

echo"&Oslash;nskede filer til upload:<p>\n";

//stien, hvortil filerne skal placeres   
$sti_start = $_SERVER["DOCUMENT_ROOT"];
$sti = str_replace("..", "", $sti);
$sti_hel = $sti_start ."/djmini". $sti;
echo $sti_hel;
$dist = "$sti_hel";

//Find antllet af filer til upload
for($i = 0; $i < count($_FILES['upfile']['name']); $i++) {

    if (isset($_FILES['upfile']['name'][$i]) && $_FILES['upfile']['name'][$i] !="") {
   
//se http://dk.php.net/manual/en/function.is-uploaded-file.php for "is_uploaded_file"       
        if(is_uploaded_file($_FILES['upfile']['tmp_name'][$i])) {

//Flyt filer fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
move_uploaded_file($_FILES['upfile']['tmp_name'][$i], $dist . $_FILES['upfile']['name'][$i]);

        }else{

    echo"Upload til serveren skete ikke!";

    }

//til brug for info om filtyper
$str1 = $_FILES['upfile']['name'][$i];
$str2 = $_FILES['upfile']['size'][$i];
$str3 = $_FILES['upfile']['type'][$i];

        }
    }
}
?>
<?php
require "db.php"; 
$id = $_GET['id'];
$query = mysql_query ("SELECT * FROM mini_galleri WHERE id='$id'") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
$sti = $row['sti'];
$id = $row['id'];
echo "<form enctype=\"multipart/form-data\" action=\"op_galleri_alle.php?id=$id\" method=\"post\">
<center>
                <table>
                  <tr>
              <td>V&aelig;lg flere filer til upload.<br>
                <input name=\"upfile[]\" type=\"file\" size=\"48\"><input name=\"sti\" type=\"text\" value=\"$sti\"><input name=\"id\" type=\"text\" value=\"$id\">
                <br>
                <input name=\"upfile[]\" type=\"file\" size=\"48\">
                <br>
                <input name=\"upfile[]\" type=\"file\" size=\"48\">
                <br>
                <input name=\"upfile[]\" type=\"file\" size=\"48\">
                <br>
                <input name=\"upfile[]\" type=\"file\" size=\"48\">
                <br>
                <input name=\"upfile[]\" type=\"file\" size=\"48\">
                <p>
                  <center>
                    <input type=\"submit\" value=\"upload\" name=\"submit\" id=\"submit\">
                  </center>
              </td>

</tr></table>

</center>
</form>";
}
?> 


Den går ind og gør det muligt at ligge 6 billeder op på engang.

Det virker egentligt fint nok.. Men der er 2 ting:


#1
Når billedet/billederne bliver lagt op på serveren, påtager de sig det samme navn som mappen hedder først i navnet og så det oprendelige navn som det hedder på computeren når man vælger den .. det er naturligvis også ok, men hvis det er et rimelig langt navn mappen har så er det ik så smart igen..


#2
Den ligger fint billederne op på min server, men ikke i den korrekte mappe.. hvis vi siger mappen ligger på www.xx.dk/pics/galleri/mappe så lægger billederne sig ind i mappen "www.xx.dk/pics/galleri".


Håber i kan hjælpe mig !
Avatar billede jaw Nybegynder
31. oktober 2005 - 21:36 #1
Prøv:

move_uploaded_file($_FILES['upfile']['tmp_name'][$i], $dist ."/". $_FILES['upfile']['name'][$i]);

Så tror jeg næsten at det løser begge dine problemer :)
Avatar billede vix-mix Nybegynder
31. oktober 2005 - 22:01 #2
haha det gjorde bare med begge ting.. hvad gjorde du ? hvis jeg må høre.. ellers lære jeg ik meget af det høhø!

og smider du lige et svar?
Avatar billede jaw Nybegynder
31. oktober 2005 - 22:18 #3
Selvfølgelig :)

$dist indeholder navnet på dit bibliotek, lad os kalde den "mappe". Når du overførte filen på serveren, omdøbte du den fra temp-navnet til "bibliotekfilnavn" i stedet for at overføre den til bibliotek/filnavn. Derfor tilføjede jeg / og så kører det :)
Avatar billede jaw Nybegynder
31. oktober 2005 - 22:19 #4
"Lad os kalde den mappe" - og jeg skriver så "bibliotek" i resten af teksten, men håber alligevel du får meningen :D
Avatar billede vix-mix Nybegynder
31. oktober 2005 - 22:29 #5
Hahah yes..  Jamen det kan jeg godt se nu når du siger det faktisk. Men det var rart det er kommet til at virke. jeg siger mange tak!
Avatar billede jaw Nybegynder
31. oktober 2005 - 22:30 #6
Selv mange tak :)
Avatar billede vix-mix Nybegynder
04. november 2005 - 13:08 #7
-lukket-
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