Heb zo’n 300 foto’s in directory staan. De namen wil ik in een database plaatsen zonder de extentie .
Op welke wijze kan ik dat het beste doen?
Kijk eens naar [php]scandir[/php].
Vergeet . en .. in je foreach niet uit te sluiten.

Voor de rest kan je [php]explode[/php] gebruiken op de punt. Met [php]array_pop[/php] kan je dan de extensie er afhalen, zoals je ook een foto met bijv. als naam [i]dit.is.een.foto.jpg[i] netjes kan opslaan.
Het meeste komt uit de PHP handleiding.
Vervolgens wat puzzelen.

<?php
$path = 'lotje/';
// bestanden worden alfabetisch gelezen. In tegenstelling tot dir()
if ( $files = scandir( $path ) )
{
	$extensions = array( 'jpg', 'jpeg', 'png', 'gif' );
	foreach ( $files as $image )
	{
		$path_parts = pathinfo( $path . $image );
		if( in_array( $path_parts['extension'] , $extensions ) )
		{
			echo 'dirname   = ' . $path_parts['dirname']   . "<br />\n";
			echo 'basename  = ' . $path_parts['basename']  . "<br />\n";
			echo 'extension = ' . $path_parts['extension'] . "<br />\n";
			echo 'filename  = ' . $path_parts['filename']  . "<br />\n";

			$imageMime      = image_type_to_mime_type(exif_imagetype( $path . $image ) );
			echo 'imageMime = ' . $imageMime . "<br />\n";

			// als je ook de afmetingen wilt bewaren
			list( $width, $height, $type, $attr ) = getimagesize( $path . $image );
			echo '<p>w:' . $width . ' h:' . $height . ' t:' . $type . ' a:' . $attr . '</p>';

			// add to db
			$query = "INSERT INTO afbeeldingen ( naam, extensie, mimetype ) 
			VALUES ('" . $path_parts['filename'] . "', '" . $path_parts['extension'] . "', '" . $imageMime . "');";

			echo '<p>' . $query . '</p>';
		}
	}
}
?>


[size=xsmall]Toevoeging op 28/05/2021 21:06:33:[/size]

Toch wel raar dat je het vraagt, want dit topic heeft zo’n beetje alle ingredienten.

https://www.phphulp.nl/php/forum/topic/fotos-worden-niet-getoond/102640/#102640

Reageren