1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
196
196
EMPFEHLEN
-
Hallo allerseitz ich habe folgendes Problem einmal habe ich ein Uploadscript (freeware) und würde in dieses gerne mein Script (.m3u datei auslesen und in Datenbank eintragen) mit einbauen so das der User die Datei blos hochladen braucht und den rest erledigt das script
hier mal die beiden relevanten Quellcodes:
Upload:
Entragen:PHP-Code:<?php
// -----------------------------------------
// Das Script kann unter Verwendung
// dieses Vermerks uneingeschränkt
// genutzt / verändert werden.
// © www.php-space.info
// -----------------------------------------
@include_once('functions.php');
// -----------------------------------------
// Beispiel $path = '/bilder-upload-script/img/';
$path = ''; // Verzeichnis zum Speicher Ordner nach http://www.ihre-domain.de/
// Beispiel $img_path_up = '/home/www/web3/html/php-space/bilder-upload-script/img/';
$img_path_up = ''; // Absuluter Pfad zum Speicher Ordner
$groessemax = 10000; // Maximal Datei Größe in KB (KiloByte)
// -----------------------------------------
// Ab hier nichts mehr anpassen
if (!isset($_GET["loechen"])) $_GET["loechen"] = "";
if (!isset($_GET["file"])) $_GET["file"] = "";
?>
<html>
<head>
<title>Datei Upload</title>
<!-- Php-Space.info / Datei Upload Version 1.01 - 03.01.2007 -->
<!-- (c) Nico Schuber <?php echo date("Y");?> - Kontakt: www.SchubertMedia.de - info[at]SchubertMedia.de -->
<style type="text/css">
<!--
body, table{
color: #000;
font: 11px Verdana, Tahoma, Arial, Helvetica, sans-serif;
}
div{
margin:0;
padding:0;
}
-->
</style>
</head>
<body>
<?
if(uploadmoeglichkeitpruefen()==false){
echo '<div style="color:red;">Es ist auf diesen Server kein Upload möglich, bitte wenden Sie sich an Ihren Hoster und bitten um Aktivierung der Php Upload Funktion.</div>';
exit;
}
if(file_exists($img_path_up)==false OR $img_path_up ==''){
echo '<div style="color:red;">Es gibt kein Ordner wohin die Bilder geladen werden sollen!</div>';
exit;
}
?>
<br>
<strong>File Upload</strong><br>
<br>
<?
if($_POST["action"]){
$filename = "";
if ($HTTP_POST_FILES['userfile']['tmp_name']<> 'none'){
$file = $HTTP_POST_FILES['userfile']['name'];
$temp = $HTTP_POST_FILES['userfile']['tmp_name'];
$path_parts = pathinfo($file);
$filename = "datei_" . time() . "." . $path_parts["extension"];
if($HTTP_POST_FILES['userfile']['size'] <= $groessemax*1024){
if(decoct(fileperms($img_path_up))==40777){
if(@copy($temp, $img_path_up.$filename)){
echo '<div style="color:green;">Datei ist auf den Server!<br>';
echo 'Url der Datei: <a href="http://'.$_SERVER['HTTP_HOST'].$path.$filename.'" target="_blank">http://'.$_SERVER['HTTP_HOST'].$path.$filename.'</a><br><br><a href="'.$_SERVER['PHP_SELF'].'">Eine weitere Datei auf den Server laden...</a><br><br></div>';
} else {
echo '<div style="color:red;">Die Datei konnte nicht auf den Server geladen werden. <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
}
} else {
echo '<div style="color:red;">Der Upload Ordner hat keine Schreibrechte! <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
}
} else {
echo '<div style="color:red;">Die Datei ist zu groß! Die Datei darf nicht größer als '.$groessemax.' KB (KiloByte) sein. <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
}
}
} else {
?>
<form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
die Datei darf nicht größer sein als <?php if((maximaledateiuploadgroesseermitteln()/1024)>$groessemax) echo $groessemax; else echo (maximaledateiuploadgroesseermitteln()/1024);?> KB (KiloByte).<br><br>
<input name="userfile" type="file" size="40"><br><br>
<input type="submit" name="action" value="Speichern">
</form>
<? } ?>
<br><strong>File List</strong><br><br>
<?
// Datein Löschen
if($_GET["loechen"]==1 AND $_GET["file"]!=''){
if(file_exists($_GET["file"])==true){
if(@unlink($_GET["file"])==true) echo '<div style="color:green;">Die Datei wurde erfolgreich gelöscht!<br><br></div>';
else echo '<div style="color:red;">Die Datei konnte nicht gelöscht werden.<br><br></div>';
} else {
echo '<div style="color:red;">Die Datei gibt es nicht im Upload Verzeichnis!<br><br></div>';
}
}
?>
<table border="0" bordercolor="Gray" bgcolor="DarkGray" cellspacing="2" cellpadding="2" width="500">
<tr align="middle" bgcolor="Gainsboro" style="font-weight:bold">
<td><SPAN class="fett">File</SPAN></td>
<td><SPAN class="fett">Größe</SPAN></td>
<td><SPAN class="fett">Letzte Änderung</SPAN></td>
<td><SPAN class="fett">Aktion</SPAN></td>
</tr>
<?
// Datein Verzeichnis ansgeben
$i=0;
$verz=opendir ($img_path_up);
while (false !== ($file = readdir($verz))) {
if (filetype($img_path_up.$file)!="dir"){
$i++;
echo '<tr bgcolor="Gainsboro">';
echo ' <td><a href="http://'.$_SERVER['HTTP_HOST'].$path.$file.'" target="_blank">'.$file.'</a></td>';
echo ' <td>'.fs_convert($img_path_up.$file,2).'</td>';
echo ' <td>'.date("d.m.Y H:i", last_change($img_path_up.$file)).'</td>';
echo ' <td><a href="'.$_SERVER["PHP_SELF"].'?file='.$img_path_up.$file.'&loechen=1" >Löschen</td>';
echo '</tr>';
}
}
if($i==0){
echo '<tr bgcolor="Gainsboro">';
echo ' <td colspan="4">Es ist noch keine Datei im Upload Ordner.</td>';
echo '</tr>';
}
closedir($verz);
?>
</table>
</body>
</html>
beim Eintrage script arbeite ich bereits mit 2 Variablen einmal uploader und einmal filename Uploader will ich im Uploadscript auch noch per <input... übergeben lassen.PHP-Code:<?php
require ("config.php"); //darin steht der db zugang
// $uploader steht mom noch fest in der config.php
// $playlist steht mom noch fest in der config.php
// echo "$playlist";
// öffnen DB
$connect = @mysql_connect($mysql_host, $mysql_user, $mysql_pw);
$db = mysql_select_db($mysql_db,$connect) or die ("Kann die Datenbank nicht lesen!");
// Leerzeichen entfernen
function delSpace($foo)
{
$foo = str_replace('/\r\n|\r|\n/', ' ', $foo);
$foo = str_replace('\'', ' ', $foo);
// $foo = str_replace(' ','',$foo);
$foo = strip_tags($foo);
$foo = htmlentities($foo);
$foo = addslashes($foo);
return $foo;
}
// Filter uns
function saveSongs($line)
{
// hier wird nur die Zeile mit #EXTINF rausgesucht #
if ((strpos($line,"#EXTM3U") === false) && (strpos($line,".mp3") === false) && (strpos($line,".wav") === false) && (strpos($line,".wma") === false))
{
global $uploader;
preg_match_all('%#EXTINF:(.*?),(.*?)-(.*)%msi',$line,$results,PREG_PATTERN_ORDER);
$sql_query = "INSERT INTO mp3files (laenge,interpret,titel,uploader) VALUES ('".delSpace($results[1][0])."','".delSpace($results[2][0])."','".delSpace($results[3][0])."','".$uploader."')";
if(mysql_query($sql_query))
{
var_dump($results);
// echo "<br/>";
// echo $uploader."<br/>";
}
else
{
echo "Zeile: ".$line." Konnte nicht gespeichert werden!<br />";
}
}
}
// Playlist öffnen und speichern
if (file_exists($playlist))
{
$handle = fopen($playlist, "r");
$contents = '';
while (!feof($handle))
{
$line = fgets($handle);
// zeile für zeile wird ausgelesen
saveSongs($line);
}
fclose($handle);
}
else
{
echo $playlist." nicht gefunden!<br />";
echo "Probier es mit der richtigen Angabe der Playlist, Format: Namederplaylist.m3u<br />";
}
mysql_close($connect);
?>
Wäre über Hilfe sehr dankbar
mfg Spikaner
-
Und wie können wir dir dabei helfen? Wäre schön, wenn du ein bisschen detailierter sagen könntest, was wohin übergeben werden soll, deine Ansätze und eventuelle Fehlermeldungen zeigst und vielleicht auch noch erzählen könntest, wo ungefähr der relevante Code ist.
-
Ich habe es so probiert (Vermerkt mom. herausgeschnitten um den Text klein zu halten, wird später wieder eingefügt):
aber so funktioniert es nicht da er uploader und playlist irgendendwie nicht übernehmen will/kann warum auch immer.PHP-Code:<?php
@include_once('functions.php');
require ("config.php"); // db zugang
$path = 'playlist/playlisten/'; // Verzeichnis zum Speichern localhost..
$img_path_up = 'D://xampp/htdocs/playlist/playlisten/'; // Absuluter Pfad zum Speicher Ordner
$groessemax = 100000; // Maximal Datei Größe in KB (KiloByte)
if (!isset($_GET["loechen"])) $_GET["loechen"] = "";
if (!isset($_GET["file"])) $_GET["file"] = "";
?>
<html>
<head>
<title>Datei Upload</title>
<style type="text/css">
<!--
body, table{
color: #000;
font: 11px Verdana, Tahoma, Arial, Helvetica, sans-serif;
}
div{
margin:0;
padding:0;
}
-->
</style>
</head>
<body>
<?
if(uploadmoeglichkeitpruefen()==false){
echo '<div style="color:red;">Es ist auf diesen Server kein Upload möglich.</div>';
exit;
}
if(file_exists($img_path_up)==false OR $img_path_up ==''){
echo '<div style="color:red;">Es gibt kein Ordner wohin die Playliste geladen werden sollen!</div>';
exit;
}
?>
<br>
<strong>File Upload</strong><br>
<br>
<?
if($_POST["action"]){
$filename = "";
if ($HTTP_POST_FILES['userfile']['tmp_name']<> 'none'){
//Neu
// $uploader = $HTTP_POST_FILES['userfile']['uploader']);
// $playlist = $HTTP_POST_FILES['userfile']['file']);
//Neu ende
$file = $HTTP_POST_FILES['userfile']['name'];
$temp = $HTTP_POST_FILES['userfile']['tmp_name'];
$path_parts = pathinfo($file);
$filename = "datei_" . time() . "." . $path_parts["extension"];
if($HTTP_POST_FILES['userfile']['size'] <= $groessemax*1024){
if(decoct(fileperms($img_path_up))==40777){
if(@copy($temp, $img_path_up.$filename)){
echo '<div style="color:green;">Datei ist auf den Server!<br>';
// Neu
$connect = @mysql_connect($mysql_host, $mysql_user, $mysql_pw);
$db = mysql_select_db($mysql_db,$connect) or die ("Kann die Datenbank nicht lesen!");
// Leerzeichen entfernen
function delSpace($foo)
{
$foo = str_replace('/\r\n|\r|\n/', ' ', $foo);
$foo = str_replace('\'', ' ', $foo);
$foo = strip_tags($foo);
$foo = htmlentities($foo);
$foo = addslashes($foo);
return $foo;
}
// Filter uns
function saveSongs($line)
{
// hier wird nur die Zeile mit #EXTINF rausgesucht #
if ((strpos($line,"#EXTM3U") === false) && (strpos($line,".mp3") === false) && (strpos($line,".wav") === false) && (strpos($line,".wma") === false))
{
global $uploader;
preg_match_all('%#EXTINF:(.*?),(.*?)-(.*)%msi',$line,$results,PREG_PATTERN_ORDER);
$sql_query = "INSERT INTO mp3files (laenge,interpret,titel,uploader) VALUES ('".delSpace($results[1][0])."','".delSpace($results[2][0])."','".delSpace($results[3][0])."','".$uploader."')";
if(mysql_query($sql_query))
{
// var_dump($results);
echo "Alle Daten wurden in die Datenbank eingetragen </ br>";
// echo $uploader."<br/>";
}
else
{
echo "Zeile: ".$line." Konnte nicht gespeichert werden!<br />";
}
}
}
// Playlist öffnen und speichern
if (file_exists($playlist))
{
$handle = fopen($playlist, "r");
$contents = '';
while (!feof($handle))
{
$line = fgets($handle);
// zeile für zeile wird ausgelesen
saveSongs($line);
}
fclose($handle);
}
else
{
echo $playlist." nicht gefunden!<br />";
echo "Irgendwas ist schiefgelaufen...<br />";
}
mysql_close($connect);
// Neu ende
echo 'Url der Datei: <a href="http://'.$_SERVER['HTTP_HOST'].$path.$filename.'" target="_blank">http://'.$_SERVER['HTTP_HOST'].$path.$filename.'</a><br><br><a href="'.$_SERVER['PHP_SELF'].'">Eine weitere Datei auf den Server laden...</a><br><br></div>';
} else {
echo '<div style="color:red;">Die Datei konnte nicht auf den Server geladen werden. <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
}
} else {
echo '<div style="color:red;">Der Upload Ordner hat keine Schreibrechte! <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
}
} else {
echo '<div style="color:red;">Die Datei ist zu groß! Die Datei darf nicht größer als '.$groessemax.' KB (KiloByte) sein. <a href="'.$_SERVER['PHP_SELF'].'">Noch mal versuchen...</a><br><br></div>';
}
}
} else {
?>
<form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
die Datei darf nicht größer sein als <?php if((maximaledateiuploadgroesseermitteln()/1024)>$groessemax) echo $groessemax; else echo (maximaledateiuploadgroesseermitteln()/1024);?> KB (KiloByte).<br><br>
<input type="text" name="uploader" size="20"><strong>Uploader</strong>(muß angegeben werden)<br>
<input name="userfile" type="file" size="40"><br><br>
<input type="submit" name="action" value="Speichern">
</form>
<? } ?>
<br><strong>File List</strong><br><br>
<?
// Dateien Löschen
if($_GET["loechen"]==1 AND $_GET["file"]!=''){
if(file_exists($_GET["file"])==true){
if(@unlink($_GET["file"])==true) echo '<div style="color:green;">Die Datei wurde erfolgreich gelöscht!<br><br></div>';
else echo '<div style="color:red;">Die Datei konnte nicht gelöscht werden.<br><br></div>';
} else {
echo '<div style="color:red;">Die Datei gibt es nicht im Upload Verzeichnis!<br><br></div>';
}
}
?>
<table border="0" bordercolor="Gray" bgcolor="DarkGray" cellspacing="2" cellpadding="2" width="500">
<tr align="middle" bgcolor="Gainsboro" style="font-weight:bold">
<td><SPAN class="fett">File</SPAN></td>
<td><SPAN class="fett">Größe</SPAN></td>
<td><SPAN class="fett">Letzte Änderung</SPAN></td>
<td><SPAN class="fett">Aktion</SPAN></td>
<td><SPAN class="fett">Aktion</SPAN></td>
</tr>
<?
// Dateien Verzeichnis ansgeben
$i=0;
$verz=opendir ($img_path_up);
while (false !== ($file = readdir($verz))) {
if (filetype($img_path_up.$file)!="dir"){
$i++;
echo '<tr bgcolor="Gainsboro">';
echo ' <td>'.$file.'</td>';
echo ' <td>'.fs_convert($img_path_up.$file,2).'</td>';
echo ' <td>'.date("d.m.Y H:i", last_change($img_path_up.$file)).'</td>';
echo ' <td><a href="'.$_SERVER["PHP_SELF"].'?file='.$img_path_up.$file.'&loechen=1" >Löschen</td>';
echo ' <td><form method="post" enctype="text" action=$_SERVER["PHP_SELF"]';
echo ' <input type="text" name="uploaderloeschen" size="15">';
echo ' </form></td>';
echo '</tr>';
}
}
if($i==0){
echo '<tr bgcolor="Gainsboro">';
echo ' <td colspan="4">Es ist noch keine Datei im Upload Ordner.</td>';
echo '</tr>';
}
closedir($verz);
?>
</table>
</body>
</html>
Sprich was am ende herauskommen soll ist User Trägt seinen Namen an gibt das File ein (.m3u) bzw sucht es klickt auf upload und das script lädt die Datei auf den Server und trägt danach alles was im file steht in die Datenbank ein.
mfg SpikanerGeändert von spikaner (03.09.07 um 09:26 Uhr)
-
Ja aber WAS funktioniert denn nicht? Ist was mit der Maske faul, funktioniert der Upload nicht? Das Parsen der Datei? Das Eintragen in die Datenbank?
-
Das eintragen in der DB er will diese beiden befehle da wo ich sie stehen habe nicht nehmen
bekomme folgende fehlermeldung im script angezeigtPHP-Code:$uploader = $HTTP_POST_FILES['userfile']['uploader']);
$playlist = $HTTP_POST_FILES['userfile']['file']);
Datei ist auf den Server!
nicht gefunden!
Irgendwas ist schiefgelaufen...
Url der Datei: http://localhost/playlist/playlisten...1188805386.m3u
Irgendwie vergibt er einen neuen Filenamen was er aber eigentlich nicht machen sollte..
und dann passt das ganze nicht mehr zusammen und er bricht ab. Und ich habe keine Ahnung wo der fehler liegen könnte hier noch die funktions.php vom uploadscript
mfg SpikanerPHP-Code:<?
// -----------------------------------------
// Das Script kann unter Verwendung
// dieses Vermerks uneingeschränkt
// genutzt / verändert werden.
// © www.php-space.info
// -----------------------------------------
if (eregi("functions.php",$_SERVER["PHP_SELF"])) {
exit;
}
function fs_convert ($datei, $nachkommastellen = 0) {
$size = filesize($datei);
if($size >= 1073741824) {
return round($size/(1073741824), $nachkommastellen)." GB";
}
if($size >= 1048576) {
return round($size/(1048576), $nachkommastellen)." MB";
}
if($size >= 1024) {
return round($size/(1024), $nachkommastellen)." KB";
}
return $size." Byte";
}
function last_change ($site) {
if(empty($site)) {
$site = $_SERVER['DOCUMENT_ROOT'];
$site.= $_SERVER['PHP_SELF'];
}
return filemtime($site);
}
function uploadmoeglichkeitpruefen(){
$uploadmoeglichkeit=true;
if(strtolower(@ini_get('file_uploads'))=='off' || @ini_get('file_uploads')==0){
$uploadmoeglichkeit=false;
}
return $uploadmoeglichkeit;
}
function maximaledateiuploadgroesseermitteln(){
$maximaledateiuploadgroesse=0;
if($dateigroesse=ini_get('upload_max_filesize')){
$maximaledateiuploadgroesse=phpiniwertumwandeln($dateigroesse);
}
if($postgroesse=ini_get('post_max_size')){
$postgroesse=phpiniwertumwandeln($postgroesse);
if($postgroesse<$maximaledateiuploadgroesse){
$maximaledateiuploadgroesse=$postgroesse;
}
}
return $maximaledateiuploadgroesse;
}
function phpiniwertumwandeln($groesse){
$werte['MB'] = 1048576;
$werte['Mb'] = 1048576;
$werte['M'] = 1048576;
$werte['m'] = 1048576;
$werte['KB'] = 1024;
$werte['Kb'] = 1024;
$werte['K'] = 1024;
$werte['k'] = 1024;
while(list($schluessel)=each($werte)){
if((strlen($groesse)>strlen($schluessel)) && (substr($groesse, strlen($groesse)-strlen($schluessel))==$schluessel)) {
$groesse=substr($groesse, 0, strlen($groesse)-strlen($schluessel))*$werte[$schluessel];
break;
}
}
return $groesse;
}
?>
-
Du musst das File über einen Temp-Namen ansprechen, nicht über den von dir gewählten Filenamen. Siehe hierzu: http://de.php.net/manual/de/function...oaded-file.php
Bsp (aus einem meiner Scripts):
Ausserdem kannst du direkt über $_FILES auf das Superglobale Array zugreifen. $HTTP_*_VARS sowie auch dein $HTTP_POST_FILES sind veraltet. Lies hierzu: http://de.php.net/manual/de/language...predefined.phpPHP-Code:$pic_uploaded = move_uploaded_file($_FILES['form_news_write_picpath']['tmp_name'], $this->pic_path);
Gruss
De Igäl
PS: Ausserdem hast du den Fehlerrelevanten Teil des Codes wieder nicht gepostet
Der Fehler liegt anscheinend beim Upload. Du könntest uns beiden viel Arbeit ersparen
Geändert von Igäl (03.09.07 um 10:21 Uhr)
Ähnliche Themen
-
Problem mit verschlüsselter Verbindung und Post-Php Scripten
Von cameeel im Forum Hosting & WebserverAntworten: 0Letzter Beitrag: 08.03.07, 22:15 -
Habe da wohl eine Denkfehler brauche bitte Hilfe beim Scripten
Von ultrasonic im Forum PHPAntworten: 4Letzter Beitrag: 10.06.06, 13:01 -
Access - Problem b. IDs zusammenführen.
Von Trompete im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 11.07.04, 12:14 -
[mIRC] Dialogbox beim Laden von Scripten / Addons
Von WilliamTheBloody im Forum InternetkommunikationAntworten: 3Letzter Beitrag: 06.02.04, 14:02 -
scripten
Von Tob im Forum PhotoshopAntworten: 2Letzter Beitrag: 30.09.01, 16:46





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren