سلام عليكم
عندي function خاص بتحديث الحقول
اضفت عليه كلاس خاص باستخراج البيانات من الملفات الصوتية
ويعمل بشكل طبيعي لا يوجد فيه مشكلة اذا كنت اسوي تحديث لمقطع واحد
ولكن عندما احاول اسوي تحديث لاكثر من مقطع يظهر لي الخطأ التالي
المطلوب تعديل بسيط او بالاحرى اضافة على الكود بحيث يقوم بعملية تكرار استخراج البيانات لكل حقل ..
قيل لي ان اضيف "Return" لكن لم اوفق في وضعها ولا اعلم ماذا اضع بعدها..
كود PHP:
Fatal error: Cannot redeclare class getid3_exception in /home/XXX/public_html/getid3/getid3.php on line 1311
في المرفق ملف getid3.php اللى يخبرني انه في خطأ بالسطر 1311
وهذا الكود كامل المحتاج للتعديل
كود PHP:
function update($name,$dlink,$comment,$addv,$addc,$tap,$type,$query_type)
{
global $DB,$lang,$st_global;
$query = $query_type? "SELECT * FROM `maq` WHERE `tap`=$this->tap ORDER BY `id` DESC"
: "SELECT * FROM `maq` WHERE `id`=$this->id ORDER BY `id` DESC";
$select = $DB->query($query);
//GET COPYRIGHT CONTENT
$url = $st_global['soundsdir']."/copyright.htm";
for($i = 0; $maq = $DB->fetch($select); $i++)
{
$link = "$dlink[$i]?rpcontexturl=".$url."&rpcontextwidth=300&rpcontextheight=300";
$filename=$maq[id].'.ram';
$f=fopen("../ram/".$filename,"w");
fwrite($f,$link);
$date = date("M d Y");
$file_size = filesize_remote($dlink[$i], $timeout=10);
// Copy remote file locally to scan with getID3()
$fileurl = "$dlink[$i]";
if ($fp_remote = fopen($fileurl, 'rb')) {
$tempfilename = tempnam('/home/XXX/public_html/temp', 'getID3');
if ($fp_local = fopen($tempfilename, 'wb')) {
while ($buffer = fread($fp_remote, 16384)) {
fwrite($fp_local, $buffer);
// $buffer = fread($fp_remote, 1024);
// fwrite($fp_local, $buffer);
}
fclose($fp_local);
// Include getID3() library (can be in a different directory if full path is specified)
include("../getid3/getid3.php");
// Initialize getID3 engine
$getid3 = new getID3;
// Tell getID3() to use UTF-8 encoding - must send proper header as well.
$getid3->encoding = 'UTF-8';
// Analyze file
try {
$getid3->Analyze($tempfilename);
$playtime = @$getid3->info['playtime_string'];
$bitrate = (float)@$getid3->info['bitrate'];
$frequency = (int)@$getid3->info['audio']['sample_rate'];
$fileformat = @$getid3->info['fileformat'];
if (@$getid3->info['audio']['dataformat'] && $getid3->info['audio']['dataformat'] != $getid3->info['fileformat']) {
$fileformat .= '/' . @$getid3->info['audio']['dataformat'];
}
if (@$getid3->info['video']['dataformat'] && $getid3->info['video']['dataformat'] != $getid3->info['fileformat'] && $getid3->info['video']['dataformat'] != @$getid3->info['audio']['dataformat']) {
$fileformat .= '/' . @$getid3->info['video']['dataformat'];
}
}
catch (Exception $e) {
echo 'An error occured: ' . $e->message;
}
$DB->query("UPDATE `maq` SET
`name` = '$name[$i]',
`dlink` = '$dlink[$i]',
`comment` = '$comment[$i]',
`date` = '$date',
`size` = '$file_size',
`playtime` = '$playtime',
`bitrate` = '$bitrate',
`fileformat` = '$fileformat',
`frequency` = '$frequency',
`type` = '$type[$i]',
`addv` = '$addv[$i]',
`addc` = '$addc[$i]'
WHERE `id` ='$maq[id]';"
);
}
//make ram file-
// Delete temporary file
unlink($tempfilename);
}
fclose($fp_remote);
}
//reload Main Iframe
$this->do_reload=1;
//MAQ EDITED DONE MSG
$this->HTML .= msg($lang['maq_edited'],$lang['sounds_msg'],1);
}