[RESOLU] Enlever l'extension d'un fichier dans une variable

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Enlever l'extension d'un fichier dans une variable

Re: Enlever l'extension d'un fichier dans une variable

par sirakawa » 24 juil. 2014, 08:57

@tous : bonjour.
@xtg : d'accord sur tous les points.
Inutile de déterrer les vieux sujets.
Et surtout inutile de donner de nouvelles réponses plus ou moins fausses à ce sujet.
Inutile de répéter ou corriger les réponses déja données.
Si le sujet était marqué RESOLU ça ne se produirait pas.
Je pense qu'il faudrait une section où seraient archivées les questions traitées (à partir des topics des forums, en ne gardant que les réponses opérationnellles)...

Re: Enlever l'extension d'un fichier dans une variable

par xTG » 24 juil. 2014, 08:47

bonjour voila je voudriez avoirs la variable $fichierrel de $fichier mai sans le .jpg car le rel ne prend pas le .jpg
en vous remercier d'avance
C'est bien de poster dans un sujet qui parle de la même problématique.
C'est encore mieux de le lire pour y trouver la réponse à ton problème...
Tout a déjà été écrit.

Re: Enlever l'extension d'un fichier dans une variable

par vincentshooter » 24 juil. 2014, 05:50

bonjour voila je voudriez avoirs la variable $fichierrel de $fichier mai sans le .jpg car le rel ne prend pas le .jpg
en vous remercier d'avance
<?php
	        		
	        		if ($dossier = opendir('core/img')) 
	        		{
	        			while (false !== $fichier = readdir($dossier)) 
	        			{
        					        				
	        				if ($fichier != '.' && $fichier != ".." ) 
	        				{
	        					echo '<li><a rel=" ' .$fichierrel. ' " href="core/page/'.$fichier.'.html"><img src="core/img/'.$fichier.' "></a></li>';
	        				}
		        		
	        			}

	        			closedir($dossier);
	        		}
	        	?>

Re: Enlever l'extension d'un fichier dans une variable

par moogli » 01 nov. 2013, 11:32

Salut,

Non car trop limité et contraignant vue que tu doit indiquer l'extension.
Les solutions pathinfo et substr + strrpos sont les plus générique (et on oubli l'hérésie de l'explode :mrgreen: )

@+

Re: Enlever l'extension d'un fichier dans une variable

par to175175 » 31 oct. 2013, 23:09

Salut Moi aussi je réponds :D
et je demande en même temps :)

est ce que ça serait pas mieux ceci, si ça marche (?) :
<?php
echo str_replace('.php', '', $file);
echo str_replace('.html', '', $file);
echo str_replace('/', '', $file);
//etc...
?>

Re: Enlever l'extension d'un fichier dans une variable

par passe par là » 21 oct. 2013, 11:55

..et en plus ça sert encore pour ceux qui recherche l'info, alors merci !

Re: Enlever l'extension d'un fichier dans une variable

par guitoup » 27 sept. 2012, 16:38

Non j'ai pas honte,

je débute en aidage de personne sur forum :lol: J'ai pas fait gaffe à la date du topic.

Et je réponds aussi a des questions plus récentes !

Re: Enlever l'extension d'un fichier dans une variable

par xTG » 27 sept. 2012, 16:34

Déterrer un topic datant d'il y a 6 ans pour paraphraser des réponses existantes...
Vous avez pas honte ?
Allez plutôt répondre à des sujets récents non mais ! :twisted:

Re: Enlever l'extension d'un fichier dans une variable

par guitoup » 27 sept. 2012, 15:54

Hello,

Pour récupérer ton nom de fichier sans l'extension, tu as la fonction pathinfo() qui te retourne un tableau avec les infos suivantes :
http://fr2.php.net/manual/en/function.pathinfo.php

L'index filename te retournant le nom du fichier sans l'extension.
$fileInfo = pathinfo($file);

$fileInfos['dirname']
$fileInfos['basename']
$fileInfos['extension']
$fileInfos['filename']

Re: Enlever l'extension d'un fichier dans une variable

par TGuillard » 27 sept. 2012, 15:46

Bonjour,

La solution précédente était mieux une fois corrigée ça donne ça :
// Je met le nom de mon fichier dans une variable
$file_name = "nomDeFichier.jpg";
// J'explose dans un tableau à chaque fois que je rencontre un point
$file_array = explode ('.',$file_name);
// Je récupère l'indice dans le tableau de l'extension "jpg", soit le dernier élément
$extension = count ($file_array) - 1;
// Je découpe en enlevant l'extension cad (la taille de "jpg" + la taille du point d'où le -1)
$New = substr ($file_name,0,strlen($file_name) -strlen ($file_array[$extension])-1);
// J'affiche
echo $New; 

par djmustru » 20 mars 2006, 20:31

:D ok, merci pour tout, ca fait vraiment plaisir !

par jpaul » 20 mars 2006, 20:27

:cry: Ca marche pas...

Ca m'affiche les 3 premiers caractères de la variable et ca enleve tous le reste...

Car moi j'effectue ce traitement sur plusieurs enregistrement de longueur différent chacun...
J'ai bricolé ça vite fait :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd">

<html>
    <head>
        <title>Essais</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>

    <body>
<?php
reset($_POST);
while (list($key, $val) = each($_POST )) {
	echo "<BR>$key -> $val";
	$$key=$val;
}

//phpinfo();
if (isset($FICHIER)) {

$path_parts = pathinfo($FICHIER);

echo "<BR>".$path_parts['dirname'], "\n";
echo "<BR>".$path_parts['basename'], "\n";
echo "<BR>".$path_parts['extension'], "\n";

echo "<BR><BR>Ce qui t'intéresse : ".substr($path_parts['basename'],0,strlen($path_parts['basename'])-strlen($path_parts['extension'])-1);


} 

	echo "<FORM action=";
	echo $_SERVER["PHP_SELF"];
	echo " method="post">";
	echo "Fichier : <INPUT TYPE=TEXT NAME=FICHIER>";
	echo "</FORM>";


?>
    </body>
</html> 
Ca traite aussi un fichier qui est présenté avec son path.
Exemple : (/temp/toto.txt) ou le nom du fichier seul (toto.txt) dans les 2 cas ça devrait t'afficher toto.
pathinfo permet davoir les éléments dans un tableau, ensuite il suffit de prendre la partie de basename qui commence en position 0 et qui a une longueur égale à la longueur de basename - la longueur de l'extension et encore -1 pour le point. ;)

par djmustru » 20 mars 2006, 20:12

:cry: Ca marche pas...

Ca m'affiche les 3 premiers caractères de la variable et ca enleve tous le reste...

Car moi j'effectue ce traitement sur plusieurs enregistrement de longueur différent chacun...

par djmustru » 20 mars 2006, 20:08

:D MErci beaucoup !!!

par fab » 20 mars 2006, 20:06

<?php
$file_name = "jeu.zip";
$file_array = explode('.',$file_name);
$extension = count($file_array) - 1;
$new_file_name = substr($file_name,0,strlen($file_array[$extension]));
echo $new_file_name;
?>
a tester :)
explode()
count()
substr()
strlen()