Avatar billede xeox Nybegynder
23. oktober 2004 - 17:06 Der er 24 kommentarer og
1 løsning

Hjælp til billede upload

Hej.

Jeg har et script der ser sådan herud:

<?php

if (isset($_FILES['upfile'])) {

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

//Filer som kan uploades
$filetyper = array("image/gif", "text/html", "text/plain", "image/jpeg", "image/pjpeg", "image/png");

//stien, hvortil filerne skal placeres   
$dist = "/".$_SERVER['DOCUMENT_ROOT']."/jens/billeder/";

//Tjek om der er en fil, samt om den overholder filtypen som kan uploades
    if (isset($_FILES['upfile']['name']) && $_FILES['upfile']['name'] == "") {
echo"Ingen fil valgt! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a></td>\n";
echo"</tr></table>\n";
echo"</center>\n";
echo"</body></html>";
exit;

}elseif (!in_array($_FILES['upfile']['type'], $filetyper)) {
echo "Filen kan ikke uploades.<br>\n<b>$str3</b> er ikke tilladt for upload! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a></td>\n";
echo"</tr></table>\n";
echo"</center>\n";
echo"</body></html>";
exit;
    }

echo"&Oslash;nsket fil til upload:<p>\n";

    if (isset($_FILES['upfile']['name']) && $_FILES['upfile']['name'] !="") {

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

//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
$filer = 0;
while (false !== ($file = readdir($dist))) {
if(is_dir($file)) {
continue;
}
    $filer++;
}

// Array med filtyper, til brug for det endelige filnavn
$filetypes = array(1 => "gif", 2 => "jpg", 3 => "png");

$str = getimagesize($_FILES['upfile']['tmp_name']);
$type = strtr($str[2], $filetypes);
$nytnavn = ($filer+1) .".". $type;
move_uploaded_file($_FILES['upfile']['tmp_name'], $dist . $nytnavn);
        }else{
        echo"Sorry, men upload skete IKKE!";
    }


echo "<b>Navn:</b> $str1, <b>st&oslash;rrelse:</b> $str2 bytes, <b>filtype:</b> $str3<br>\n";
echo"</p>";
    }
}else{

echo "Du skal v&aelig;lge en fil til upload. <a href=\"upload.php\">upload.php</a>";
}
?>

Den skal jeg have til at ligge et billede op i min mappe og kigge hvad nummer billederne er nået til .. har bla. billeder der hedder 1-10.jpg .. så for hvergang den ligger et nyt billede op skal den +1 .. så det næste billede evt. hedder 11.jpg..

Men kan ikke få det til at virke. Kan i det ?
Avatar billede mollevp Nybegynder
23. oktober 2004 - 17:11 #1
Lav en txt fil til at holde styr på hvilket nr. du er kommet til
Avatar billede xeox Nybegynder
23. oktober 2004 - 17:13 #2
er det noget du kan hjælpe mig med at få stablet på benene?
Avatar billede mollevp Nybegynder
23. oktober 2004 - 17:17 #3
erstat $filer = 0 med:

$fil = "./fil.txt";

if (!($fp = fopen($fil, "r"))) die ("Kan ikke åbne tæller fil.");

//Læser de første 20 chars
$filer = (int) fread($fp, 20);

fclose($fp);

++$filer;

$fp = fopen($fil, "w");

fwrite($fp, $filer);

fclose($fp);

så opretter du bare en fil.txt med tallet 0 i... Så tæller den op og skriver til filen for hver fil du oploader
Avatar billede xeox Nybegynder
23. oktober 2004 - 17:21 #4
også alt dette:

while (false !== ($file = readdir($dist))) {
if(is_dir($file)) {
continue;
}
    $filer++;
}
Avatar billede mollevp Nybegynder
23. oktober 2004 - 17:24 #5
he he.. jeg har sku lige været for hurtig der - havde ikke lige set at du talte filerne i dit dir
Avatar billede xeox Nybegynder
23. oktober 2004 - 17:26 #6
hold kæft man det kunne da ikke være nemmere !!! .. tusind tak for det !!.. smid et svar !
Avatar billede xeox Nybegynder
23. oktober 2004 - 17:28 #7
jamen det virker skam som det skal nu hehehe!
Avatar billede mollevp Nybegynder
23. oktober 2004 - 17:30 #8
dette istedet måske:

$filer = 0;

while (false !== ($file = readdir($dist))) {

if(is_file($file)) $filer++;

}
Avatar billede mollevp Nybegynder
23. oktober 2004 - 17:30 #9
kk svar :)
Avatar billede xeox Nybegynder
23. oktober 2004 - 17:32 #10
nej det var bare en "overflødig" ting som var der .. :o)..

hvis jeg nu skulle få brug for den så var den der.. men som det er her, virker det som det skal.
Avatar billede persjensen Nybegynder
23. oktober 2004 - 17:44 #11
hvordan ser din upload.php ud :P?
Avatar billede trevi Nybegynder
23. oktober 2004 - 18:01 #12
det er den der står øverst.. det er min up.php.. og så har jeg en der hedder galleri.php hvor der er en "brows" og en form der gå til up.php  :)
Avatar billede xeox Nybegynder
23. oktober 2004 - 18:13 #13
hov. Min lillebror havde lige været inde og tjekke noget. så var lige havnet på hans bruger .. så det er mig der har skrevet den over ^
Avatar billede persjensen Nybegynder
23. oktober 2004 - 19:10 #14
ah okay , jamen hvordan ser din galleri.php så ud :D ?
Avatar billede xeox Nybegynder
23. oktober 2004 - 19:37 #15
min galleri.php ?
Avatar billede persjensen Nybegynder
24. oktober 2004 - 00:35 #16
...og så har jeg en der hedder galleri.php hvor der er en "brows" og en form der gå til up.php 

:|
Avatar billede xeox Nybegynder
24. oktober 2004 - 11:17 #17
den ser sådan her ud knægt:

            <form enctype="multipart/form-data" action="up.php" method="post">
                <table class="tekst_normal">
                  <tr>
                    <td><span class="tekst_fed">V&aelig;lg en fil til upload.<br>
                      </span>
                        <p><span class="tekst_fed">
                          <input name="upfile" type="file" size="48" class="box">
                        </span>
                        <center>
                          <span class="tekst_fed">
                          <input type="submit" value="Upload" class="submit">
                          <br>
                          </span>
                          <table width="100%" border="0" cellspacing="0" cellpadding="0" class="tekst_normal" align="center">
                            <tr>
                              <td><div align="center" onClick="MM_openBrWindow('multi.php','Multi','scrollbars=yes,width=500,height=350')" class="cursor"></div></td>
                            </tr>
                          </table>
                          <span class="tekst_fed"><br>
                          </span>
                        </center>
                        <p class="tekst_fed"> Filer som accepteres:<br>
"image/gif", "image/jpeg", "image/png"</p></td>
                  </tr>
                </table>
            </form>
Avatar billede persjensen Nybegynder
24. oktober 2004 - 14:28 #18
Okay heh... Well.. har prøvet det ad et par gange nu men bliver ved med at få følgende error:
---------------------------------------------------------------

Warning: move_uploaded_file(/c:/apache/apache/htdocs/upload2/billeder/2.jpg): failed to open stream: Invalid argument in c:\apache\apache\htdocs\upload2\up.php on line 63

Warning: move_uploaded_file(): Unable to move 'C:\WINDOWS\php22.tmp' to '/c:/apache/apache/htdocs/upload2/billeder/2.jpg' in c:\apache\apache\htdocs\upload2\up.php on line 63
Navn: 1.jpg, størrelse: 225637 bytes, filtype: image/pjpeg

---------------------------------------------------------------
Mega nedern :(
Avatar billede erikjacobsen Ekspert
24. oktober 2004 - 14:30 #19
Du skal ikke have en "/" foran i
    $dist = "/".$_SERVER['DOCUMENT_ROOT']."/jens/billeder/";
(om der er andet galt skal jeg ikke kunne sige)
Avatar billede zod Nybegynder
24. oktober 2004 - 14:36 #20
hvordan kommer det færdig script til at se ud
Avatar billede persjensen Nybegynder
24. oktober 2004 - 16:30 #21
Haha.. det virkede sgu , takker erikjacobsen - gir dig lige lidt karma :P
Avatar billede erikjacobsen Ekspert
24. oktober 2004 - 16:41 #22
Det kan jeg jo ikke forhindre dig i, men jeg er helst foruden.
Avatar billede persjensen Nybegynder
24. oktober 2004 - 16:58 #23
Så mangler jeg blot et galleri efter alfabetisk rækkefølge, hvor den automatisk laver til thumbnails osv ;)
Avatar billede xeox Nybegynder
25. oktober 2004 - 09:51 #24
Yes, der må du lige oprette din egen tråd :o)
Avatar billede xeox Nybegynder
25. oktober 2004 - 09:51 #25
-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