Revision: 46974
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at May 28, 2011 06:00 by kendsnyder
Initial Code
<?php function truncateFilename($filename, $max = 30) { if (strlen($filename) <= $max) { return $filename; } if ($max <= 3) { return '...'; } if (!preg_match('/^(.+?)(\.[^\.]+)?$/', $filename, $match)) { // has newlines or is an empty string return $filename; } list (, $name, $ext) = $match; $extLen = strlen($ext); $nameMax = $max - ($extLen == 0 ? 3 : $extLen + 2); // 2 for two dots of the elipses if ($nameMax <= 1) { $truncated = substr($filename, 0, $max - 3) . '...'; } else { $truncated = substr($name, 0, $nameMax) . '...' . substr($ext, 1); } return $truncated; }
Initial URL
Initial Description
Initial Title
PHP Truncate File Name
Initial Tags
Initial Language
Pascal