Foreach : imbrication de variables

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 : Foreach : imbrication de variables

par ce_l » 20 oct. 2008, 13:11

Hello,
bon je continue toute seule de chercher sans grand succès :
Après la fonction que je n'arrive pas à appliquer je fais une copie à l'arrache qui ne marche pas non plus. Tout se passe bien pour la première partie de la boucle, la 2eme est ignorée
$all_image_model = $image_model;
$pop_image_model = $pop_model;

foreach($all_image_model["tmp_name"] as $key => $tmp_file)
    {
    if(!empty($tmp_file)) 
        {
        $content_dir = 'C:/Program files/EasyPHP 2.0b1/www/test/model/'; 
                $type_file = $all_image_model['type'][$key]; 
if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
    {
        exit("Le fichier n'est pas une image");
    }
	
	foreach($pop_image_model["tmp_name"] as $key => $tmp_file2)
    {
    if(!empty($tmp_file2)) 
        {
		$content_dir2 = 'C:/Program files/EasyPHP 2.0b1/www/test/model/test/';
                $type_file = $pop_image_model['type'][$key]; 
if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
    {
        exit("Le fichier n'est pas une image");
    }

	
    $name_file = $image_model['name'][$key];
    $nom_model = $_POST['nom_model'][$key]; 
    $pop_file = $pop_model['name'][$key];
    
        
        //Enfin à la fin
        if( !move_uploaded_file($tmp_file, $content_dir . $name_file) && !move_uploaded_file($tmp_file2, $content_dir2 . $pop_file) )
		 { 
            exit("Impossible de copier le fichier dans $content_dir"); 
            }
        else { 
Logiquement ca me parait juste après, il ne copie pas dans $content_dir2 le fichier.
Dois-je supprimer le 2eme foreach pour inclure le 2eme traitement dans la première boucle (j'ai tout essayé, je ne vois pas comment), avec une fonction, ca ne marche pas non plus

Un petit peu d'aide serait la bienvenue
ce_l

par ce_l » 17 oct. 2008, 14:25

Dsl de saouler! mais je ne trouve touours pas de solution
Help please
Merci

par ce_l » 16 oct. 2008, 11:06

Hello,
Désolé je ne vois pas comment utilisé cette fonction, quoi que je fasse il me met une erreur

Code : Tout sélectionner

Fatal error : Call to undefined function mafonction()
Tu peux m'en dire un peu plus STP

Sinon pourquoi ce code ne marche pas :
$all_image_model = $image_model;
$all_image_model = $pop_model;

foreach($all_image_model["tmp_name"] as $key => $tmp_file)
    {
    if(!empty($tmp_file)) 
        {
        $content_dir = 'C:/Program files/EasyPHP 2.0b1/www/test/model/'; 
		        $type_file = $all_image_model['type'][$key]; 
if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
    {
        exit("Le fichier n'est pas une image");
    }
	
	$name_file = $image_model['name'][$key];
	$nom_model = $_POST['nom_model'][$key]; 
	$pop_file = $pop_model['name'][$key];
	
		
        //Enfin à la fin
        if( !move_uploaded_file($tmp_file, $content_dir . $name_file, $content_dir . $pop_file) ) { 
            exit("Impossible de copier le fichier dans $content_dir"); 
            }
        else {
c'est juste l'enriegistrement des 2 variables (. $name_file, $pop_file) qui foirent

Merci
ce_l

par Aureusms » 15 oct. 2008, 20:05

Utilise une fonction :
mafonction ($image_model);
mafonction ($pop_model);

Foreach : imbrication de variables

par ce_l » 15 oct. 2008, 17:57

Hello,
Toujours dans mes problème de boucles et de tableau, j'essaie d'imbriquer deux variables ($image_model, $pop_model) dans mon Foreach
$all_image_model = $image_model;
$all_image_model = $pop_model;

foreach($all_image_model["tmp_name"] as $key => $tmp_file)
    {
    if(!empty($tmp_file)) 
        {
        $content_dir = 'C:/Program files/EasyPHP 2.0b1/www/test/admin/model/';  
        $type_file = $all_image_model['type'][$key]; 
if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
    {
        exit("Le fichier n'est pas une image");
    }
	
	$name_file = $image_model['name'][$key];
	$nom_model = $_POST['nom_model'][$key]; 
	$pop_file = $pop_model['name'][$key];
		
        //Enfin à la fin
        if( !move_uploaded_file($tmp_file, $content_dir . $name_file) ) { 
            exit("Impossible de copier le fichier dans $content_dir"); 
            }
        else {// insertion dasn la BDD
	
Evidemment il y a un problème : les 2 varables ont le même nom et donc la 2eme écrase la premiere dans $content_dir. En fait je voulais un traitement identique pour ces deux variables mais des enregistrements différents.

Comment dissocier les variables dans $tmp_file ?

Merci
ce_l