Hallo,
ik werk voor mijn website met het CMS script van Syndeo.
Hierin zit ook een module om bestanden te uploaden naar de website. Alleen het script hernoemt het bestand (bijv. een *.doc) bij het opslaan in de SQL database, door de spaties te vervangen door een underscore ( _ ).
Dat wil ik niet want hierdoor lukt het me niet bijv. *.doc bestanden te openen die een spatie bevatten. Nu kan ik natuurlijk al mijn document namen vervangen zodat het script er mee overweg kan. Maar kan dit ook anders?
Ik heb in het script nu de volgende code gevonden;
function remove_special_characters($string)
{
# Remove spaces, apostrophe, exclamation marks and replace them with underscore
$string = preg_replace("/[^a-zA-Z0-9-.]/", "_", $string);
$string = normalize($string);
return $string ;
} // end of the 'remove_special_characters()' function
function normalize ($string)
{
# Replace 'special' characters with their counter part.
$table = array(
'ä'=>'S', 'ö'=>'s', 'é'=>'Z', 'û'=>'z', 'C'=>'C', 'c'=>'c', 'C'=>'C', 'c'=>'c',
'¿'=>'A', '¡'=>'A', '¬'=>'A', '√'=>'A', 'ƒ'=>'A', '≈'=>'A', '∆'=>'A', '«'=>'C', '»'=>'E', '…'=>'E',
' '=>'E', 'À'=>'E', 'Ã'=>'I', 'Õ'=>'I', 'Œ'=>'I', 'œ'=>'I', '—'=>'N', '“'=>'O', '”'=>'O', '‘'=>'O',
'’'=>'O', '÷'=>'O', 'ÿ'=>'O', 'Ÿ'=>'U', '⁄'=>'U', '€'=>'U', '‹'=>'U', '›'=>'Y', 'fi'=>'B', 'fl'=>'Ss',
'‡'=>'a', '·'=>'a', '‚'=>'a', '„'=>'a', '‰'=>'a', 'Â'=>'a', 'Ê'=>'a', 'Á'=>'c', 'Ë'=>'e', 'È'=>'e',
'Í'=>'e', 'Î'=>'e', 'Ï'=>'i', 'Ì'=>'i', 'Ó'=>'i', 'Ô'=>'i', ''=>'o', 'Ò'=>'n', 'Ú'=>'o', 'Û'=>'o',
'Ù'=>'o', 'ı'=>'o', 'ˆ'=>'o', '¯'=>'o', '˘'=>'u', '˙'=>'u', '˚'=>'u', '˝'=>'y', '˝'=>'y', '˛'=>'b',
'ˇ'=>'y', 'R'=>'R', 'r'=>'r',
);
return strtr($string, $table);
}
is dit de boosdoener? En zo ja hoe kan ik deze code veranderen zodat hij de spaties niet langer vervangt door underscore?
Graag hulp.
BVD
HJ
AANVULLING:
ik kan ge-uploade bestanden met een spatie in de bestandsnaam wel downloaden alleen krijg ik dan een blanco document. ;-(
1.292 views