kostenloser Webspace werbefrei: lima-city


MIME-Typ Problem bei MP3 Upload

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    Hallo alle miteinander

    Ich brauche für meine Homepage einen PM3 Upload (Die Lieder sind alle selbst produziert oder sollten es zumindest laut AGB ^^)
    und habe jetzt ein Problem mit den MIME Typ...
    um PM3s zu erkennen, brauche ich doch die Mimetypen "audio/mp3" und "audio/mpeg" oder?
    Wenn ja, dann klapt das bei mir net, denn der mimetyp ist Leer. Wenn ich die mimetypen für ein JPEG Bild nehme klapt das wieder. ich bin bei einem Hoster, der es eigentlich gestattet mp3s hochzuladen und ich habe auch schon des öfteren über FTP welche hochgeladen, aber über mein script geht das iwie net. x.x
    Kann auch sein, dass mein ganzes Script falsch ist, was diesen mime betrifft... hier mal mein Code:

    if(in_array($_FILES['audio']['type'],$mimearray))
       		{
       		$audioname = "".$benutzer."-".$titel.".mp3";
          	move_uploaded_file($_FILES['audio']['tmp_name'], "mp3/".$audioname."");
          	echo "Der Song wurde Erfolgreich nach mp3/".$audioname." hochgeladen";
          	}
          	else
        	{
        	echo "Bitte nur Songs im mp3 Format hochladen ".$_FILES['audio']['type']."";
        	}


    Es wäre sehr nett von euch, wenn ihr mir da was helft.

    Gruß
    Technofan
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. $_FILES['probe']['type']

    Diese Variable enthält den MIME-Type der Datei, so wie er dem Server vom Browser übermittelt worden ist. Dieser Wert kann unter Umständen nicht richtig sein, je nach Einstellung des Browsers.

    Quelle: http://www.php-faq.de/q/q-formular-upload-php4.html

    Daher würde ich mime_content_type() (http://www.php.net/mime_content_type) empfehlen.

    grüße
    - bx
  4. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    hmmm, bezieht sich das denn net nur auf images, das mit dem falsch sein?
    na ja, ich probiers mal aus.

  5. hmmm, bezieht sich das denn net nur auf images, das mit dem falsch sein?
    na ja, ich probiers mal aus.


    Bin mir nicht sicher, aber ich denke dass sich das auch auf andere Filetypes bezieht. Die beste Alternative ist nach dem upload mime_content_type() zu nutzen.

    Gruß
    - bx
  6. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    hmmm, also ich hab das jetzt mal ausprobiert, und dann kommt ne Warnung:

    Warning: mime_content_type(4 ever friends.mp3) [function.mime-content-type]: failed to open stream: No such file or directory in /var/www/user/djtechnostyler.xail.net/mp3s/songupload.php on line 95

    und line 95 sieht so aus:

    $jane = $_FILES['audio']['name'];
    $jane = mime_content_type ($jane);

    was isn das nu? ^^
  7. Direkt nach dem Upload ist die Datei erst im Temp-Verzeichnis des Servers, insofern muss du nicht mit $_FILES['audio']['name'] überprüfen, sondern mit $_FILES['audio']['tmp_name'].
    Ich denke mal, dann sollte es gehn (oder zumindest sollte dann der Fehler nicht mehr auftreten).
  8. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    hmm, also ich hab das jetzt mal ganz ohne mimeüberprüfung gemacht, und des geht iwie noch immer net ^^
    also denke ich mal, dass MP3s vie PHP script hochladen verboten ist oder aus irgendwelchen Gründen muss man es erst freischalten... jetzt meine Frage, und die betrifft Lima.

    Ist es möglich mit einem solchen Script mp3 dateien auf den Downloadserver zu laden? und das dürfen net nur mp3 sein, ich generiere nach dem Upload eine xml playlist für meinen mp3flashplayer mit fwrite... geht das auch?

    also, am besten ich poste mal alles ^^

    if($_POST['send']==true AND $_POST['titel']==true)
    		{
    		
    		$benutzer = $_GET['benutzer'];
    		$titel = $_POST['titel'];
    		$remix = $_POST['remix'];
    		$kategorie = $_POST['hauptkategorie'];
    		
    		//MP3 hochladen
    		
    		$mimearray=array("audio/mp3", "audio/mpeg");
    		
    		if(in_array($_FILES['audio']['type'],$mimearray))
       		{
       		$audioname = "".$benutzer."-".$titel.".mp3";
          	move_uploaded_file($_FILES['audio']['tmp_name'], "mp3/".$audioname."");
          	echo "Der Song wurde Erfolgreich nach mp3/".$audioname." hochgeladen";
          	}
          	else
        	{
        	echo "Bitte nur Songs im mp3 Format hochladen ".$_FILES['audio']['type']."";
        	}
        	
        	//Cover hochladen
        	
        	if($_FILES['cover']['tmp_name'] != "")
    		{
    		$mimearray=array("image/jpeg", "image/jpg");
    		
    		if(in_array($_FILES['cover']['type'],$mimearray))
       		{
       		$covername = "".$benutzer."-".$titel.".jpg";
          	move_uploaded_file($_FILES['cover']['tmp_name'], "covers/".$covername."");
          	echo "Das Cover wurde Erfolgreich nach covers/".$covername." hochgeladen.";
          	}
          	else
          	{
          	echo "Bitte nur Cover im jpg Format hochladen";
          	}
        	}
        	
        	//XML Datei anlegen
        	
    $xmlinhalt = '
    <?xml version="1.0"?>
    <playlist>
    	<item>
    		<filename>http://djtechnostyler.xail.net/mp3s/mp3/'.$audioname.'</filename>
    		<artist>'.$benutzer.'</artist>
    		<title>'.$titel.'</title>
    		<comments>http://www.x-musik.com</comments>
    		<visual>http://djtechnostyler.xail.net/mp3s/covers/'.$covername.'</visual>
    	</item>
    </playlist>
    ';
    $xmlname = "".$benutzer."".$titel.".xml";
        	
    $datei = fopen("xml/".$xmlname."","w");
    fwrite($datei, $xmlinhalt);
    fclose($datei);
    
    		//MySQL Eintragung
    		
    		$eintrag = "INSERT INTO songs
    		(interpret, oreginalinter, titel, kategorie, mp3, cover, xml)
    		VALUES
    		('$benutzer', '$remix', '$titel', '$kategorie', '$audioname', '$covername', '$xmlname')";
    		$eintragen = mysql_query($eintrag);
    		}


    also, alles was da gemacht wird, muss auf dem DS funzen, ansonsten muss ich des iwie splitten können, also dass ich die xml Datei auf den normalen Server schmeiße ^^

    PS: der Webhoster bei dem ich das machen wollte ist www.xail.net

    Beitrag geaendert: 28.5.2007 14:02:17 von technofan
  9. Also aus rein logischen Überlegungen würde ich sagen, dass das nicht gehen dürfte.
    Die Dateien werden immer auf den Server geladen, auf dem das Script liegt und auf dem DS kannst du kein PHP ausführen. Ein nachträgliches "Verschieben" der Dateien auf den DS sollte auch nicht möglich sein, denn sonst könnte man ja auf jeden beliebigen Server irgendwelche Sachen schieben. Vll gibt es eine Möglichkeit das dann irgendwie über FTP, so von einem Server auf den anderen, zu machen, aber eigentlich halte ich auch das für nicht möglich.
    Ich will dir nicht alle Hoffnung verderben, aber ich denke nicht, dass es geht.

    Geht dein Script bei dir auf den localhost so wie es soll? Oder macht es da auch Probleme?

    Beitrag geaendert: 28.5.2007 14:13:42 von tct
  10. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    bei der mimetyp überprüfeng muckt des auch auf, aber ohne geht alles... bei Xail klapt ja auch der Bilderupload, sogar mit mimetyp überprüfung ^^
    ich hab da jetzt mal angefragt, ob die das vllt iwie freischalten können, wenn net, droht das Projekt zu platzen... :(
  11. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    AAAAAAAAAAAAAAAhhhhhhhhhhhhhhhhhhhhhhh *Gedankenblitz hab*
    mir is da was ganz geniales eingefallen, aber bevor ich mich stunden lang aufrege, frage ich erstmal hier nach, ob das überhaupt geht. ^^

    Also... man kann die Dateien ja net auf den einen server hochladen, aber auf nen anderen von mir geht das, nur hat der net so viel Speicher, dass der alle abspeichern kann... man könnte diesen Server aber als temporären Speicher nehmen... die entsprechenden MP3 Dateien lese ich dann mit den entsprechenden Befehl aus, und speichere den Textinhalt (Jede Datei hat ja nen Code) in ner MySQL Datenbank ab... anschließend greift en anderes Dokument, dass auf den anderen Server liegt auf die Datenbank zu, ließt diese Datei wieder aus und speichert den Inhalt wieder als MP3 ab... das is doch mal genial, oder? ^^

    Aber jetzt meine Frage... geht das mit der Datenbank überhaupt??ß also externer zugriff geht, aber geht das mit dem code auslesen und wieder abspeichern?
  12. Also es geht schon, ABER so etwas sollte man nicht machen. Oo
    Eine Datenbank ist zwar dafür da Daten zu speichern auf welche man Zugriff haben möchte und auch Sortierbar etc. ist.
    Eine MP3-Datei braucht man nicht zu sortieren...
    Außerdem wäre das eine sehr große Last für die Datenbank.
  13. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    och joa, wie man sieht, anscheident net ^^
    bei mir funktionierts jetzt einwandfrei und die Datenbank ist genau so schnell, wie vorher auch, selbst wenn man 5 Uploads gleichzeitig tätig macht die Datenbank das noch mit, das haben wir getestet... des einzige, des schlapp macht ist der Server... Dateien ab 10 MB funktionieren nicht mehr, was uns dann doch ziemlich getroffen hat... aaaber, da 2 GB bei mp3s mal ganz schnell voll sind, brauch ich jetzt ein Serversystem, wie bei lima, dass die MP3s zufällig auf 3-5 Servern verteilt werden... die Server dürfen ja nichts kosten, sonst sind wir nimmer kostenlos, deswegen so viele.
    kennt da übrigends jemand von euch, das so ähnlich ist wie Rapitshare, nur dass man seinen eigenen upload da rein machen kann?
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!