如何在PHP 7中读取/写入ID3标签?

时间:2018-10-16 18:54:10

标签: php php-7 pear pecl id3

有id3 http://php.net/manual/ref.id3.php的功能列表。它需要pecl软件包http://pecl.php.net/package/id3。该软件包的两个版本都是alpha版本,但这不是主要问题。

pear / id3需要PHP(版本> = 4.3.0,版本<= 6.0.0),已安装版本是7.2.10-0ubuntu0.18.04.1

如何在PHP 7中读写ID3标签?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用PECL进行编译:http://svn.php.net/viewvc/pecl/id3/

我建议使用FFMPEG。

您可以将ffmpeg与exec函数一起使用。 https://wiki.multimedia.cx/index.php/FFmpeg_Metadata

exec('ffmpeg -i input.mp3 -c copy -metadata artist="Someone" output.mp3');

http://eyed3.nicfit.net/

var_dump(shell_exec("eyeD3 song.mp3 | grep artist"));

如果您的服务器是Windows,则可以下载并安装FFMPEG的二进制版本,然后将FFMPEG位置添加到Windows环境变量中,并重新启动系统以在命令提示符下使用FFMPEG并使用ffmpeg的shell_exec。

答案 1 :(得分:0)

我遇到了同样的问题,经过一番搜索,我停止了https://github.com/JamesHeinrich/getID3

version: '3'
services:

  rabbitmq:
    container_name: rabbitmq
    image: rabbitmq:management
    ports:
      - "5672:5672"
      - "15672:15672"
    volumes:
    - ./data:/var/lib/rabbitmq:rw
    - ./definitions.json:/opt/definitions.json:ro
    - ./rabbitmq.config:/etc/rabbitmq/rabbitmq.config:ro

  votingapi:
    container_name: votingapi
    build: ./
    depends_on:
      - rabbitmq
    ports:
      - "8080:8080"

  votingfront:
    container_name: votingfront
    build: ../ng-catsvdogs
    depends_on:
      - resultsapi
    ports:
      - "4200:4200"

  mysql-dev:
    image: mysql:8.0.2
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: votingdb
    ports:
      - "3306:3306"

  worker:
    container_name: worker
    build: ../worker-catsvdogs
    depends_on:
      - rabbitmq
    ports:
      - "8081:8080"

  resultsapi:
    container_name: resultsapi
    build: ../resultsApi-catsvdogs
    depends_on:
      - mysql-dev
    ports:
      - "3000:3000"