33                if (!empty($this->filename) && is_readable($this->filename) && is_writable($this->filename) && is_file($this->filename)) {
 
   36                                $this->errors[] = 
'Unable to WriteID3v1('.$this->filename.
') because filesize ('.$this->filesize.
') is larger than '.round(PHP_INT_MAX / 1073741824).
'GB';
 
   39                        if ($fp_source = fopen($this->filename, 
'r+b')) {
 
   40                                fseek($fp_source, -128, SEEK_END);
 
   41                                if (fread($fp_source, 3) == 
'TAG') {
 
   42                                        fseek($fp_source, -128, SEEK_END); 
 
   44                                        fseek($fp_source, 0, SEEK_END);    
 
   46                                $this->tag_data[
'track'] = (isset($this->tag_data[
'track']) ? $this->tag_data[
'track'] : (isset($this->tag_data[
'track_number']) ? $this->tag_data[
'track_number'] : (isset($this->tag_data[
'tracknumber']) ? $this->tag_data[
'tracknumber'] : 
'')));
 
   49                                                                                                                (isset($this->tag_data[
'title']  ) ? $this->tag_data[
'title']   : 
''),
 
   50                                                                                                                (isset($this->tag_data[
'artist'] ) ? $this->tag_data[
'artist']  : 
''),
 
   51                                                                                                                (isset($this->tag_data[
'album']  ) ? $this->tag_data[
'album']   : 
''),
 
   52                                                                                                                (isset($this->tag_data[
'year']   ) ? $this->tag_data[
'year']    : 
''),
 
   53                                                                                                                (isset($this->tag_data[
'genreid']) ? $this->tag_data[
'genreid'] : 
''),
 
   54                                                                                                                (isset($this->tag_data[
'comment']) ? $this->tag_data[
'comment'] : 
''),
 
   55                                                                                                                (isset($this->tag_data[
'track']  ) ? $this->tag_data[
'track']   : 
''));
 
   56                                fwrite($fp_source, $new_id3v1_tag_data, 128);
 
   61                                $this->errors[] = 
'Could not fopen('.$this->filename.
', "r+b")';
 
   65                $this->errors[] = 
'File is not writeable: '.$this->filename;
 
   75                $getID3->option_tag_id3v2  = 
false;
 
   76                $getID3->option_tag_apetag = 
false;
 
   77                $getID3->option_tags_html  = 
false;
 
   78                $getID3->option_extra_info = 
false;
 
   79                $getID3->option_tag_id3v1  = 
true;
 
   80                $ThisFileInfo = $getID3->
analyze($this->filename);
 
   81                if (isset($ThisFileInfo[
'tags'][
'id3v1'])) {
 
   82                        foreach ($ThisFileInfo[
'tags'][
'id3v1'] as 
$key => $value) {
 
   83                                $id3v1data[
$key] = implode(
',', $value);
 
   85                        $this->tag_data = $id3v1data;
 
   93                if (!empty($this->filename) && is_readable($this->filename) && is_writable($this->filename) && is_file($this->filename)) {
 
   96                                $this->errors[] = 
'Unable to RemoveID3v1('.$this->filename.
') because filesize ('.$this->filesize.
') is larger than '.round(PHP_INT_MAX / 1073741824).
'GB';
 
   99                        if ($fp_source = fopen($this->filename, 
'r+b')) {
 
  101                                fseek($fp_source, -128, SEEK_END);
 
  102                                if (fread($fp_source, 3) == 
'TAG') {
 
  103                                        ftruncate($fp_source, $this->filesize - 128);
 
  111                                $this->errors[] = 
'Could not fopen('.$this->filename.
', "r+b")';
 
  114                        $this->errors[] = $this->filename.
' is not writeable';
 
  120                if (PHP_INT_MAX > 2147483647) {
 
  121                        $this->filesize = filesize($this->filename);
 
  127                $getID3->option_tag_id3v1  = 
false;
 
  128                $getID3->option_tag_id3v2  = 
false;
 
  129                $getID3->option_tag_apetag = 
false;
 
  130                $getID3->option_tags_html  = 
false;
 
  131                $getID3->option_extra_info = 
false;
 
  132                $ThisFileInfo = $getID3->
analyze($this->filename);
 
  133                $this->filesize = $ThisFileInfo[
'filesize'];
 
An exception for terminatinating execution or to throw for unit testing.
analyze($filename, $filesize=null, $original_filename='')
static GenerateID3v1Tag($title, $artist, $album, $year, $genreid, $comment, $track='')
static intValueSupported($num)
static IncludeDependency($filename, $sourcefile, $DieOnFailure=false)