Scripts

bestandsnamen vertalen

Dit script is bedoel om bestandsnamen te vertalen, en gebruik ik in eerste instantie voor afbeeldingen die onder meerdere talen beschikbaar moeten zijn. Dit is ter vervanging voor: dubbele bestanden(afbeeldingen) de namen in verschillende talen te hebben. je hoeft dus niet meerdere kopieën van dezelfde afbeelding te bewaren. je hebt de volgende rewrite regels nodig: rewriteEngine on RewriteCond %{REQUEST_FILENAME} \.(jpg|jpeg|png|gif)$ RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/(.*)$ ./script.php?path=/$1&%{QUERY_STRING} hieronder de inhoud van script.php:

bestandsnamen-vertalen
<?php
	// mime types
	$mimes = new stdclass;
	$mimes->png = 'image/png';
	$mimes->jpg = 'image/jpeg';
	$mimes->jpeg = 'image/jpeg';
	$mimes->gif = 'image/gif';

	// bestandsnamen die vertaald worden
	$fn = new stdclass;
	$fn->image 	= 'afbeelding';
	$fn->bildnis 	= 'afbeelding';

	// zoek de juiste gegevens
	$path = explode('/', $_GET['path']);
	$file = explode('.', $path[count($path)-1]);
	$ext = $file[count($file)-1];
	
	unset($path[count($path)-1]);
	unset($file[count($file)-1]);
	
	$name = implode('', $file);
	
	
	// geef de inhoud.
	if(isset($fn->$name) && file_exists('./' . implode('/', $path) . '/' . $fn->$name . '.' . $ext)){
		header('Content-type: ' . $mimes->$ext);
		echo file_get_contents('./' . implode('/', $path) . '/' . $fn->$name . '.' . $ext);
	}
	elseif(file_exists('./' . implode('/', $path) . '/' . $name . '.' . $ext)){
		header('Content-type: ' . $mimes->$ext);
		echo file_get_contents('./' . implode('/', $path) . '/' . $name . '.' . $ext);		
	}
	else{
		// verzin iets, misschien een standaard afbeelding?
	}
?>

Reacties

0
Nog geen reacties.