Avatar billede bossen29 Nybegynder
28. november 2006 - 01:46 Der er 16 kommentarer og
1 løsning

Send info til db og hent igen fra db til f.eks gallery.php

Hej.
Jeg har fundet nogle uploads filer på nettet og ville gerne have at de billeder som brugeren så vælger også bliver sendt til min database og vil også gerne have hjælp til at lave en gallery.php fil der så kan hente billeder fra db og vise dem til brugeren.
Filer jeg har hentet ser sådan ud:
upload.ccs
body {font-family: arial; font-size: 0.8em; margin: 2.0em; background-color: white; color: black;}
td, th {font-family: arial; font-size: 0.8em; color: black;}

.input {color:black; background-color: #ffffff; font-family: arial; font-size: 0.8em; border-color: black; border-width: 1px;}
.submit {font-family: arial; font-size: 0.8em;}

uploadform.php
<?php
if(ini_get("file_uploads") == 1) { //Tak til detox for at lære mi glidt om ini_get(), http://www.eksperten.dk/spm/392653
?>
<form enctype="multipart/form-data" action="upload.php" method="post">
<b>Max. upload p&aring; en gang er sat til <?php echo min(ini_get("post_max_size"), ini_get("upload_max_filesize")); ?>b. i php.ini</b><br><br>
<table><tr>

    <td>V&aelig;lg en fil til upload.<br>
<input name="singlefile" type="file" class="input" size="40"> <input type="submit" value="Upload" class="submit">
<br>
Filer som accepteres:<br>
"image/gif", "text/html", "text/plain", "image/jpeg", "image/pjpeg", "image/png", "image/x-png"</form></td>

</tr><tr>

    <td><hr><b>Flere filer p&aring; samme tid:</b></td>

</tr><tr>

    <td><form enctype="multipart/form-data" action="upload.php" method="post">
V&aelig;lg en eller flere filer til upload:<br>
<input name="upfile[]" type="file" size="48" class="input"><br>
<input name="upfile[]" type="file" size="48" class="input"><br>
<input name="upfile[]" type="file" size="48" class="input"><br>
<input name="upfile[]" type="file" size="48" class="input"><br>
<input name="upfile[]" type="file" size="48" class="input"><p>
<center><input type="submit" value="Upload" class="submit"></center><p>
Alle filtyper accepteres ved "multi-upload".</td>

</tr></table>

</form><?php
}else{
echo"Tilsyneladende er filupload ikke tilladt på denne server?<br>\n";
echo"Pr&oslash;v evt. at fjerne den f&oslash;rste if-s&aelig;tning i denne fil.";
}
?>

upload.php
<?php

//hmm, lidt kode til "rigtig lukning" af html'en ved fejl
$stop = "</td>\n</tr></table>\n</center></body></html>";

//stien, hvortil filer skal uploades, her et subdir til roden af domænet   
$dist = $_SERVER["DOCUMENT_ROOT"] ."/upload/";

//Er det en enkelt fil? (singlefile)
if(isset($_FILES["singlefile"])) {

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


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

//Tjek om der er en fil
    if ($_FILES["singlefile"]["name"] == "") {
echo"Ingen fil valgt! <a href=\"uploadform.php\">tilbage</a>";
echo $stop;
exit;
    }

//Tjek om filen er i array'et af tiladte filtyper
    if (!in_array($_FILES["singlefile"]["type"], $filetyper)) {
echo "Filen kan ikke uploades.<br>\n<b>". $str3 ."</b> er ikke tilladt for upload! <a href=\"uploadform.php\">tilbage</a>";
echo $stop;
exit;
    }


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

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

    echo"&Oslash;nsket fil til upload:<p>\n";
    echo "<b>Navn:</b> ". $str1 .",<br>\n";
    echo"<b>St&oslash;rrelse:</b> ". $str2 ." bytes,<br>\n";
    echo"<b>Filtype:</b> ". $str3 ."<br>\n";
    echo "<a href=\"uploadform.php\">tilbage</a>";

        }else{
        echo"Sorry, men upload skete IKKE!";
    }

}

//FLERE FILER PÅ SAMME TID FLERE FILER PÅ SAMME TID

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

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

$antal = 0;

//Find antallet af filer til upload med en for-løkke
for($i = 0; $i < count($_FILES["upfile"]["name"]); $i++) {

    if ($_FILES["upfile"]["name"][$i] !="") {
    //Læg en til $antal for hver fil.
    $antal++;
        if(is_uploaded_file($_FILES["upfile"]["tmp_name"][$i])) {

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

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

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

        }else{

    echo"Upload til serveren skete ikke!";

            }
        }
    }

if($antal < 1) { //Hvis der ingen filer er valgt
echo"V&aelig;lg en eller flere filer til upload! <a href=\"uploadform.php\">tilbage</a>";
    }else{
echo"<a href=\"uploadform.php\">tilbage</a>";
    }

}
?>
Avatar billede zynzz Praktikant
28. november 2006 - 09:59 #1
Du skal indsætte informationen i din forløkke..:
mysql_query("INSERT INTO DINTABEL (billed, navn)

VALUES ('$_FILES[upfile][name][$i]','$str1')
")or die(mysql_error());
Avatar billede bossen29 Nybegynder
28. november 2006 - 12:02 #2
Hejsa.
Skal lige sige jeg er ingen ørn så det tog mig lige lidt tid bare at finde ud af hvad du mente. HiHi. Men nu lykkedes noget af det da.
Problemet er nu at jeg kan få billedid fra f.eks. 1 og billedenavn. Men kun tekst den henter ik billedet ned fra serveren.
Billedet skulle jo gerne komme frem på gallery.php siden
kim
Avatar billede zynzz Praktikant
28. november 2006 - 12:09 #3
Gemmer den godt nok informationen i databasen ?
Avatar billede bossen29 Nybegynder
28. november 2006 - 12:24 #4
ja det gør den
kim
Avatar billede bossen29 Nybegynder
28. november 2006 - 12:26 #5
satte det ind her i koden>>
//Find antallet af filer til upload med en for-løkke
for($i = 0; $i < count($_FILES["upfile"]["name"]); $i++) {
    if ($_FILES["upfile"]["name"][$i] !="") {
    //Læg en til $antal for hver fil.
    $antal++;
        if(is_uploaded_file($_FILES["upfile"]["tmp_name"][$i])) {

    move_uploaded_file($_FILES["upfile"]["tmp_name"][$i], $dist . $_FILES["upfile"]["name"][$i]);
    //til brug for info om filtyper
    $str1 = $_FILES["upfile"]["name"][$i];
    $str2 = $_FILES["upfile"]["size"][$i];
    $str3 = $_FILES["upfile"]["type"][$i];
    mysql_select_db($database_xxx, $xxx);
    mysql_query("INSERT INTO billeder (billedid, billedenavn)
    VALUES ('$_FILES[upfile][name][$i]','$str1')
    ")or die(mysql_error());
    echo "<b>Navn:</b> ". $str1 .", <b> st&oslash;rrelse:</b> ". $str2 ." bytes, <b>filtype:</b> ". $str3 ."<br>\n";

        }else{

    echo"Upload til serveren skete ikke!";

            }
        }
    }
Avatar billede zynzz Praktikant
28. november 2006 - 12:33 #6
Men, hvad er så problemet ?, flyt lige mysql_select_db($database_xxx, $xxx); uden for løkken...
Avatar billede bossen29 Nybegynder
28. november 2006 - 13:04 #7
Det er at den på gallery.php kun vise billedid som er 1. og ik selve billedet!
Kim
Avatar billede zynzz Praktikant
28. november 2006 - 15:40 #8
Hvordan udskiver du den i gallery.php ?
Avatar billede bossen29 Nybegynder
28. november 2006 - 15:47 #9
Uhm mon jeg nogensinde lærer dette sprog! Uhm!
<?php echo $row_rsBillede['billedenavn']; ?>
kim
Avatar billede bossen29 Nybegynder
28. november 2006 - 15:53 #10
Med ovenstående kode kommer selve navnet på billedet ud.
Kim
Avatar billede zynzz Praktikant
28. november 2006 - 15:55 #11
Har du set hvad der står i databasen ?, ja men skal det ikke det ?
Avatar billede bossen29 Nybegynder
28. november 2006 - 16:05 #12
ja når jeg uploader et billede. f.eks. kim.jpg.
Så på gallery.php kommer billedets navn frem. kim.jpg. Men jeg kan ik finde ud af at få selve billedet frem.
Avatar billede zynzz Praktikant
28. november 2006 - 18:31 #13
argh, dvs. at den fint gemmer den i din database, men så er det jo nok din sti du skal finde ud af:

// billedsti
$_SERVER["DOCUMENT_ROOT"] ."/upload/". $dinfil;

Men det kan jo også være den ikke kan uploade dit billed, kunne være fordi din chmod ikke var sat (777)
Avatar billede bossen29 Nybegynder
28. november 2006 - 19:31 #14
Den kommer fint op både på database og mit webhotel.
Jeg kan bare ik finde ud af at lave koden til gallery.php der trækker billedet frem i gallery.php.
( du siger bare, bare. For mig er det alså bare ik bare )
kim
Avatar billede zynzz Praktikant
28. november 2006 - 19:57 #15
Du smider bare koden...
Avatar billede bossen29 Nybegynder
30. august 2007 - 17:17 #16
lukker
Avatar billede bossen29 Nybegynder
30. august 2007 - 17:21 #17
Lukker lige igen!
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