Avatar billede lakana Nybegynder
15. august 2006 - 19:42 Der er 21 kommentarer og
1 løsning

Upload af mp3 system søges

En der sidder, eller gider lave et script som:
- Kan uploade .mp3 filer og kun .mp3
- Kan tage 7 mb
- Overføre det til www.domæne.dk/songs/

På forhånd tak
Avatar billede jakobdo Ekspert
15. august 2006 - 19:50 #1
Kan du selv kode lidt af det?
Eller skal du have det hele foræret?
Avatar billede lakana Nybegynder
15. august 2006 - 19:54 #2
har prøvet, men fatter ikke.. kom så langt:
<?
$extlimit = "ja";
$limitedext = array(".mp3");
$sizelimit = "ja";
$sizebytes = "15000";
$absolute_path = "http://127.0.0.1/hardjumpers.dk/songs";


if($submit=="Upload"){
$dir = "http://127.0.0.1/hardjumpers.dk/songs";
if ($file != "") {
$ext=strrchr($file_name,'.');
$ext=strtolower("$ext");

if (file_exists("$absolute_path/$id$ext")) {
die("Billedet eksisterer allerede");
}

if (($sizelimit == "ja") && ($file_size > $sizebytes)) {
die("Billedet er for stort. Det må højest fylde 15 kb.");
}


if (($extlimit == "ja") && (!in_array($ext,$limitedext))) {
die("Filen er en forkert filtype.");
}

@copy($file, "$absolute_path/$id$ext") or die("Filen kunne ikke kopieres til serveren $absolute_path/$id$ext");

} else {
die("Husk at vælge et Billede");
}
echo "
<p>";
echo $file_name." blev uploaded";
mysql_query("UPDATE users SET billede='$id$ext' WHERE id='$id'");
}
?>

<form method=POST action="index.php?ske=minside&adr=upload" enctype=multipart/form-data>
<p>Vælg et Billed:<br>
<input type=file name=file size=30>
<p><button name=submit type=submit value=Upload>
Upload
</button>
</form>
Avatar billede lakana Nybegynder
15. august 2006 - 19:55 #3
den skal indsætte til songs mappen
tage .mp3 kun
tage HØJST 7 megabyte
Avatar billede jakobdo Ekspert
15. august 2006 - 20:00 #4
Du skal rette:
$absolute_path = "http://127.0.0.1/hardjumpers.dk/songs";
og:
$dir = "http://127.0.0.1/hardjumpers.dk/songs";
Du skal have en sti ala /noget/site/hardjumpers.dk/songs
Avatar billede lakana Nybegynder
15. august 2006 - 20:18 #5
hvad er så 7 mb i de der tal der?
Avatar billede jakobdo Ekspert
15. august 2006 - 20:22 #6
$sizebytes = "15000"; // 15KB
$sizebytes = "7000000"; //7 MB
Avatar billede jakobdo Ekspert
15. august 2006 - 20:22 #7
Eller mere korrekt: 1024*1024*7 = 7MB
Avatar billede lakana Nybegynder
15. august 2006 - 20:26 #8
ok hvad er fejlen så her?? den siger

Notice: Undefined index: file in c:\programmer\easyphp1-8\www\hardjumpers.dk\upload.php on line 11
Husk at vælge et Billede


<?
$extlimit = "ja";
$limitedext = array(".mp3");
$sizelimit = "ja";
$sizebytes = "7000000";
$absolute_path = "/hardjumpers.dk/songs";


if(isset($_GET['s'])){
$dir = "/hardjumpers.dk/songs";
if ($_POST['file'] != "") {
$ext=strrchr($_POST['file_name'],'.');
$ext=strtolower("$ext");

if (file_exists("" . $absolute_path . "/" . $id . "" . $ext . "")) {
die("Billedet eksisterer allerede");
}

if (($sizelimit == "ja") && ($file_size > $sizebytes)) {
die("Billedet er for stort. Det må højest fylde 15 kb.");
}


if (($extlimit == "ja") && (!in_array($ext,$limitedext))) {
die("Filen er en forkert filtype.");
}

@copy($_POST['file'], "" . $absolute_path . "/" . $id . "" . $ext . "") or die("Filen kunne ikke kopieres til serveren $absolute_path/$id$ext");

} else {
die("Husk at vælge et Billede");
}
echo "
<p>";
echo $file_name." blev uploaded";
mysql_query("UPDATE sange SET sang='$id$ext' WHERE id='$id'");
}
?>

<form method="POST" action="upload.php?s=a" enctype="multipart/form-data">
<p>Vælg en sang<br>
<input type="file" name="file" size="30">
<p><button name="submit" type="submit" value="Upload">
Upload
</button>
</form>
Avatar billede jakobdo Ekspert
15. august 2006 - 20:29 #9
Prøv at ret:
$ext=strrchr($_POST['file_name'],'.');
$ext=strtolower("$ext");
til:
$ext = strtolower(end(explode('.',$_FILES['file']['name'])));
Avatar billede lakana Nybegynder
15. august 2006 - 20:31 #10
siger det samme :S
Avatar billede jakobdo Ekspert
15. august 2006 - 20:36 #11
Prøv evt. denne kode:

<?
$extlimit = true; //true = ja, false = nej
$limitedext = array('mp3');
$sizelimit = true; //true = ja, false = nej
$sizebytes = 1024 * 1024 * 7; // 7 = 7 MB
$absolute_path = '/hardjumpers.dk/songs';

$dir = "/hardjumpers.dk/songs";
if ($_FILES['myFile']['size'] > 0)
{
    $ext = strtolower(end(explode('.',$_FILES['file']['name'])));

    /**********************\
    * HVOR KOMMER $id FRA? *
    \**********************/
   
    if(file_exists($absolute_path . "/" . $id . $ext))
    {
        die("Billedet eksisterer allerede");
    }

    if ($sizelimit && ($_FILES['myFile']['size'] > $sizebytes))
    {
        die("Billedet er for stort. Det må højest fylde 7 mb.");
    }

    if ($extlimit && (!in_array($ext,$limitedext)))
    {
        die("Filen er en forkert filtype.");
    }

    move_uploaded_file($_FILES['myFile']['tmp_name'], $absolute_path . "/" . $id . $ext) or die("Filen kunne ikke kopieres til serveren $absolute_path/$id$ext");
   
    echo "<p>";
    echo $_FILES['myFile']['name']." blev uploaded";
    mysql_query("UPDATE sange SET sang='$id$ext' WHERE id='$id'");
}
?>
<form method="POST" action="upload.php?s=a" enctype="multipart/form-data">
<p>Vælg en sang<br>
<input type="file" name="myFile" size="30">
<p><button name="submit" type="submit" value="Upload">
Upload
</button>
</form>

Dog forstår jeg ikke helt hvor du får: $id fra ??
Avatar billede lakana Nybegynder
15. august 2006 - 20:39 #12
lavede $id = mt_rand(0,9999);

men den uploader slet ikke

upload.php ligger i

C:\programmer\easyphp\www\hardjumpers.dk\

og jeg fortæller den skal uploade til
/songs

Hvorfor uploader den ikke? den giver ingen fejl
Avatar billede jakobdo Ekspert
15. august 2006 - 20:49 #13
Prøv lige:

<?php
//http://www.eksperten.dk/spm/726368

$extlimit = true; //true = ja, false = nej
$limitedext = array('mp3');
$sizelimit = true; //true = ja, false = nej
$sizebytes = 1024 * 1024 * 7; // 7 = 7 MB
$absolute_path = '/hardjumpers.dk/songs';

$dir = "/hardjumpers.dk/songs";
if ($_FILES['myFile']['size'] > 0)
{
    $ext = strtolower(end(explode('.',$_FILES['myFile']['name'])));

    /**********************\
    * HVOR KOMMER $id FRA? *
    \**********************/
 
    if(file_exists($absolute_path . "/" . $id . "." . $ext))
    {
        die("Billedet eksisterer allerede");
    }

    if ($sizelimit && ($_FILES['myFile']['size'] > $sizebytes))
    {
        die("Billedet er for stort. Det må højest fylde 7 mb.");
    }

    if($extlimit && (!in_array($ext,$limitedext)))
    {
        die("Filen er en forkert filtype.");
    }

    move_uploaded_file($_FILES['myFile']['tmp_name'], $absolute_path . "/" . $id . "." . $ext) or die("Filen kunne ikke kopieres til serveren $absolute_path/$id.$ext");
 
    echo "<p>";
    echo $_FILES['myFile']['name']." blev uploaded";
    mysql_query("UPDATE sange SET sang='$id.$ext' WHERE id='$id'");
}
?>
<form method="POST" action="<?=$_SERVER['PHP_SELF'];?>" enctype="multipart/form-data">
<p>Vælg en sang<br>
<input type="file" name="myFile" size="30">
<p><button name="submit" type="submit" value="Upload">
Upload
</button>
</form>
Avatar billede lakana Nybegynder
15. august 2006 - 20:51 #14
Notice: Undefined index: myFile in c:\programmer\easyphp1-8\www\hardjumpers.dk\upload.php on line 11

if ($_FILES['myFile']['size'] > 0)
Avatar billede jakobdo Ekspert
15. august 2006 - 21:07 #15
Er det når du loader siden første gang?
Avatar billede lakana Nybegynder
15. august 2006 - 21:10 #16
Ja
Avatar billede jakobdo Ekspert
15. august 2006 - 21:18 #17
Prøv at ret til:

if(isset($_FILES['myFile']))
{
    if($_FILES['myFile']['size'] > 0)
    {
        $ext = strtolower(end(explode('.',$_FILES['myFile']['name'])));
       
        /**********************\
        * HVOR KOMMER $id FRA? *
        \**********************/
       
        if(file_exists($absolute_path . "/" . $id . "." . $ext))
        {
            die("Billedet eksisterer allerede");
        }
       
        if ($sizelimit && ($_FILES['myFile']['size'] > $sizebytes))
        {
            die("Billedet er for stort. Det må højest fylde 7 mb.");
        }
       
        if($extlimit && (!in_array($ext,$limitedext)))
        {
            die("Filen er en forkert filtype.");
        }
       
        move_uploaded_file($_FILES['myFile']['tmp_name'], $absolute_path . "/" . $id . "." . $ext) or die("Filen kunne ikke kopieres til serveren $absolute_path/$id.$ext");
       
        echo "<p>";
        echo $_FILES['myFile']['name']." blev uploaded";
        mysql_query("UPDATE sange SET sang='$id.$ext' WHERE id='$id'");
    }
}
Avatar billede lakana Nybegynder
15. august 2006 - 21:27 #18
kan det være fordi jeg skal rette noget i nogle filer? fx http.conf eller noget?

den uploader stadig ikke til mappen!

eller er det fordi mappen songs er skrivebeskyttet?

<?php
//http://www.eksperten.dk/spm/726368

$extlimit = true; //true = ja, false = nej
$limitedext = array('mp3');
$sizelimit = true; //true = ja, false = nej
$sizebytes = 1024 * 1024 * 7; // 7 = 7 MB
$absolute_path = "" . $_SERVER['DOCUMENT_ROOT'] . "/songs";
$id = mt_rand(0,9999);

$dir = "" . $_SERVER['DOCUMENT_ROOT'] . "/songs";
if(isset($_FILES['myFile']))
{
    if($_FILES['myFile']['size'] > 0)
    {
        $ext = strtolower(end(explode('.',$_FILES['myFile']['name'])));
       
        /**********************\
        * HVOR KOMMER $id FRA? *
        \**********************/
       
        if(file_exists($absolute_path . "/" . $id . "." . $ext))
        {
            die("Billedet eksisterer allerede");
        }
       
        if ($sizelimit && ($_FILES['myFile']['size'] > $sizebytes))
        {
            die("Billedet er for stort. Det må højest fylde 7 mb.");
        }
       
        if($extlimit && (!in_array($ext,$limitedext)))
        {
            die("Filen er en forkert filtype.");
        }
       
        move_uploaded_file($_FILES['myFile']['tmp_name'], $absolute_path . "/" . $id . "." . $ext) or die("Filen kunne ikke kopieres til serveren $absolute_path/$id.$ext");
       
        echo "<p>";
        echo $_FILES['myFile']['name']." blev uploaded";
        mysql_query("UPDATE sange SET sang='$id.$ext' WHERE id='$id'");
    }
}
?>
<form method="POST" action="<?=$_SERVER['PHP_SELF'];?>" enctype="multipart/form-data">
<p>Vælg en sang<br>
<input type="file" name="myFile" size="30">
<p><button name="submit" type="submit" value="Upload">
Upload
</button>
</form>
Avatar billede jakobdo Ekspert
15. august 2006 - 23:10 #19
Du får ikke fejlen mere?
Avatar billede lakana Nybegynder
16. august 2006 - 00:20 #20
nope. kan det være noget med min apache config?
Avatar billede jakobdo Ekspert
16. august 2006 - 00:31 #21
Det tror jeg ikke.
Men det kan have noget med rettigheder at gøre på dit dir songs.
Prøv at højreklik på diret, og vælg sikkerhed, sæt så alle har skrive rettigheder.
Og test evt. så koden igen.
Avatar billede lakana Nybegynder
03. september 2006 - 17:10 #22
dropper det
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