http://www.perlmonks.org?node_id=1014719


in reply to Re^6: Using filepath method to identify an .html page
in thread Using filepath method to identify an .html page

So, what you want is a function foo() and its inverse foo'() that does this:

foo( "some long string" )  -->  1234
foo'( 1234 ) --> "some long string"

Correct?

In other words, you want to keep the entire information content of the original string.

There are only two ways to do this:

  1. keep the original string, i.e. store it in a database of some sort, or
  2. lossless compression of the original string into a short number. While theoretically possible, the compression ratio you're asking for isn't going to be possible.

Which leaves the first option, as plenty of people here have described.

So: You've said you already have a database with a column that stores a 4-digit number. If that database table doesn't already have a column that stores the HTML page's absolute path, then add one. You'll also want a UNIQUE constraint on the column with the number (and/or the other column, depending on your database design). The rest is "just" SQL...