Skip to content

Simple file names (no directory) with colon (':') get a '/' at the end #3

@egilli

Description

@egilli

Hi,
When getRelativePath is called with a filename with the ':' char in it, the returned value is changed in the following ways:

  • the name is changed to upper case
  • a '/' is added at the end of the name, as if it were a directory

Example:
RelativePath::getRelativePath('Git: A Simple How-To.html') returns GIT: A SIMPLE HOW-TO.HTML/, instead of the unaltered string Git: A Simple How-To.html

It seems the code handling Windows paths (with a drive name, like 'C:\Windows') does not make the difference between Windows paths and paths that happen to contain a colon.

This has some consequences in the PHPePub library, where it is used to name files of chapters: if the filename contains a colon, a directory is created instead of a file, and the epub file is invalid.

Thanks.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions