Go to the documentation of this file.00001 <?php
00004
00005
00007
00009
00010
00011
00012
00013
00015
00016
00017 class getid3_write_lyrics3
00018 {
00019 var $filename;
00020 var $tag_data;
00021
00022 var $warnings = array();
00023 var $errors = array();
00024
00025 function getid3_write_lyrics3() {
00026 return true;
00027 }
00028
00029 function WriteLyrics3() {
00030 $this->errors[] = 'WriteLyrics3() not yet functional - cannot write Lyrics3';
00031 return false;
00032 }
00033
00034 function DeleteLyrics3() {
00035
00036 $getID3 = new getID3;
00037 $ThisFileInfo = $getID3->analyze($this->filename);
00038 if (isset($ThisFileInfo['lyrics3']['tag_offset_start']) && isset($ThisFileInfo['lyrics3']['tag_offset_end'])) {
00039 if ($fp = @fopen($this->filename, 'a+b')) {
00040
00041 flock($fp, LOCK_EX);
00042 $oldignoreuserabort = ignore_user_abort(true);
00043
00044 fseek($fp, $ThisFileInfo['lyrics3']['tag_offset_end'], SEEK_SET);
00045 $DataAfterLyrics3 = '';
00046 if ($ThisFileInfo['filesize'] > $ThisFileInfo['lyrics3']['tag_offset_end']) {
00047 $DataAfterLyrics3 = fread($fp, $ThisFileInfo['filesize'] - $ThisFileInfo['lyrics3']['tag_offset_end']);
00048 }
00049
00050 ftruncate($fp, $ThisFileInfo['lyrics3']['tag_offset_start']);
00051
00052 if (!empty($DataAfterLyrics3)) {
00053 fseek($fp, $ThisFileInfo['lyrics3']['tag_offset_start'], SEEK_SET);
00054 fwrite($fp, $DataAfterLyrics3, strlen($DataAfterLyrics3));
00055 }
00056
00057 flock($fp, LOCK_UN);
00058 fclose($fp);
00059 ignore_user_abort($oldignoreuserabort);
00060
00061 return true;
00062
00063 } else {
00064
00065 $this->errors[] = 'Cannot open "'.$this->filename.'" in "a+b" mode';
00066 return false;
00067
00068 }
00069 }
00070
00071 return true;
00072 }
00073
00074
00075
00076 }
00077
00078 ?>