Dateiname aus Datenbank auslesen
Dateiname aus Datenbank auslesen
Hallo,
wie kann ich den folgende Funktion so umschreiben das der Dateinname und nicht die Description aus der Datenbank ausgelesen wird?
Ich meine das löst mein Problem, aber ich komme einfach nicht weiter.
Vielleicht hat ja jemand einen Tip.
Grüße und Danke,
stefkey
function ig_getMedienName($idupl) {
global $cfg, $cfgClient, $db, $client, $lang;
$cApiClient = new cApiClient($client);
$language_separator = $cApiClient->getProperty('language','separator');
if( is_numeric($idupl) ) {
//ID is a number
$query = "SELECT description FROM ".$cfg["tab"]["upl"]." WHERE idupl = ".$idupl;
} else {
//ID is a string
$path_parts = pathinfo($idupl);
$upload = $cfgClient[$client]['upl']['frontendpath'];
$len = strlen($upload);
$pos = strpos($idupl,$upload);
$dirname = substr($path_parts['dirname'],$pos+$len).'/';
$danis = $dirname.$path_parts['basename'];
$query = "SELECT
value
FROM
".$cfg["tab"]["properties"]."
WHERE
itemid = '".$dirname.$path_parts['basename']."' AND
name = 'medianame'
";
}
$db->query($query);
if( $db->next_record() ) {
return htmlspecialchars(urldecode($db->f("value")));
} else {
return '';
}
}
wie kann ich den folgende Funktion so umschreiben das der Dateinname und nicht die Description aus der Datenbank ausgelesen wird?
Ich meine das löst mein Problem, aber ich komme einfach nicht weiter.
Vielleicht hat ja jemand einen Tip.
Grüße und Danke,
stefkey
function ig_getMedienName($idupl) {
global $cfg, $cfgClient, $db, $client, $lang;
$cApiClient = new cApiClient($client);
$language_separator = $cApiClient->getProperty('language','separator');
if( is_numeric($idupl) ) {
//ID is a number
$query = "SELECT description FROM ".$cfg["tab"]["upl"]." WHERE idupl = ".$idupl;
} else {
//ID is a string
$path_parts = pathinfo($idupl);
$upload = $cfgClient[$client]['upl']['frontendpath'];
$len = strlen($upload);
$pos = strpos($idupl,$upload);
$dirname = substr($path_parts['dirname'],$pos+$len).'/';
$danis = $dirname.$path_parts['basename'];
$query = "SELECT
value
FROM
".$cfg["tab"]["properties"]."
WHERE
itemid = '".$dirname.$path_parts['basename']."' AND
name = 'medianame'
";
}
$db->query($query);
if( $db->next_record() ) {
return htmlspecialchars(urldecode($db->f("value")));
} else {
return '';
}
}
-
- Beiträge: 437
- Registriert: Do 19. Jun 2008, 09:09
Für die Datenbankabfrage ist folgender Code verantwortlich:
Wenn du SELECT description in SELECT filename umwandelst (natürlich in einer neuen Funktion), dürftest du eigentlich den Dateinamen aus der Datenbank erhalten.
Code: Alles auswählen
//ID is a number
$query = "SELECT description FROM ".$cfg["tab"]["upl"]." WHERE idupl = ".$idupl;
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
ok, in der if Anweisung läuft aber der else -Fall und dort gehts zur probaties:
if( is_numeric($idupl) ) {
//ID is a number
$query = "SELECT description FROM ".$cfg["tab"]["upl"]." WHERE idupl = ".$idupl;
} else {
//ID is a string
$path_parts = pathinfo($idupl);
$upload = $cfgClient[$client]['upl']['frontendpath'];
$len = strlen($upload);
$pos = strpos($idupl,$upload);
$dirname = substr($path_parts['dirname'],$pos+$len).'/';
$danis = $dirname.$path_parts['basename'];
$query = "SELECT
value
FROM
".$cfg["tab"]["properties"]."
WHERE
itemid = '".$dirname.$path_parts['basename']."' AND
name = 'medianame'
";
}
$db->query($query);
if( $db->next_record() ) {
return htmlspecialchars(urldecode($db->f("value")));
} else {
return '';
}
if( is_numeric($idupl) ) {
//ID is a number
$query = "SELECT description FROM ".$cfg["tab"]["upl"]." WHERE idupl = ".$idupl;
} else {
//ID is a string
$path_parts = pathinfo($idupl);
$upload = $cfgClient[$client]['upl']['frontendpath'];
$len = strlen($upload);
$pos = strpos($idupl,$upload);
$dirname = substr($path_parts['dirname'],$pos+$len).'/';
$danis = $dirname.$path_parts['basename'];
$query = "SELECT
value
FROM
".$cfg["tab"]["properties"]."
WHERE
itemid = '".$dirname.$path_parts['basename']."' AND
name = 'medianame'
";
}
$db->query($query);
if( $db->next_record() ) {
return htmlspecialchars(urldecode($db->f("value")));
} else {
return '';
}
In dieser Funktion läuf der else-Fall aber nur, wenn du die Funktion mit einem String aufrufst. Und das macht nur Sinn, wenn dieser String der Dateiname ist (so ist die Funktion gedacht). Wenn Du die Funktion mit dem Dateinamen aufrufst brauchst Du den Dateinamen aber nicht zurück, oder?
Schreib bitte welche Informationen der Datei Du hast, und welche Du brauchst. Zur Not mit Beispiel.
Schreib bitte welche Informationen der Datei Du hast, und welche Du brauchst. Zur Not mit Beispiel.
Bis dann
Tono
Tono