pb d'upload-non reception des fichiers, et de lemail du ok

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 : pb d'upload-non reception des fichiers, et de lemail du ok

par amateur_will » 08 avr. 2007, 09:46

vraiement, merci de ta réponse
pour les 2 constatations, je procede alors a corriger ses 2 anomalies.
je te tiens informé.
cordialement.

par Ryle » 01 avr. 2007, 15:23

Enlève donc le @ devant le move_uploaded_file() .. si tu as un message d'erreur sur l'upload du fichier, autant en être informé, c'est plus facile pour corriger ;)

M'est avis que php ne peut pas copier le fichier dans ton dossier. Les droits 755 sur un dossier donnent les accès suivants :
Propriétaire (7) : Lecture (4), Ecriture (2), Exécution (1)
Groupe (5) : Lecture (4), Exécution (1)
Autres (5) : Lecture (4), Exécution (1)

M'est avis que php doit faire partie des "Autres" et n'a donc pas le droit d'y déplacer le fichier.. enfin une fois encore, avec un message d'erreur, ce sera surement plus probant :)

pb d'upload-non reception des fichiers, et de lemail du ok

par amateurwill » 01 avr. 2007, 11:52

bonjour a vous,
je me suis initié un peu au php:
et j'ai arrangé un peu ce code que l'on m'a donné, et qui repond a mon besoin actuelle.
son but final est la suivante:
sur une page, securisé avec un login,et mot de pass ;faire un upload de fichiers quelque soit le type dans ma directory :depos_fichiers/ qui est en droit a 755 chez mon hebergeur.
entre temp,un mail m'est envoyé chez mon hebergeur,pour m'avertir que telle personne m'a deposé des fichiers.
j'ai definis, durant le processus, des intermédiaires quand il y a des succes,ou des erreur durant le transfert,par des informations durant la manipe.
mon probleme,est que j'ai un message m'informant que les fichiers sont bien uploader, avec succes ainsi qu'un mail envoyé au gerant.
et malheureusemen je ne vois ni les fichiers dans ma repertoire, et ni mon mail m'informant la manipe faite..
quelqun pourrait t'il me donner un coup de main, sur mon bloccage du script.
codialement et merci de tous eclaircissement.
voici le code utilisé:
<?php
		echo "Depos des fichiers-Restanla<br><br>";
$dest = "[email protected]";
$up_full = "http://www.restanla.gp/depos_fichiers/";
$up_dir = "www.restanla.gp/depos_fichiers/";
$UploadNum = "6";
/*0 is for most hosts (default value). 
	1 is for Online.Net (Online). */
	$online_isp = "0";	
// --------------------------------------------------------------------------------- //

function unique_id()
{
	$taille = 6;
	$new_pass = '';
	$lettres = "abcdefghijklmnpqrstuvwxyz123456789";
	srand(time());
	for ($i=0;$i<$taille;$i++)
	{
		$new_pass.=substr($lettres,(rand()%(strlen($lettres))),1);
	}
define("timer", $new_pass);
}
unique_id();
ini_set("sendmail_from", $dest);

if(isset($_POST["submit"]))
{
// ------------------------ Fields Verification Process ------------------------- //

	 $From = preg_replace("/\r/", "", $_POST['From']); 
	 $From = preg_replace("/\n/", "", $_POST['From']);
	 $Name = preg_replace("/\r/", "", $_POST['Name']); 
	 $Name = preg_replace("/\n/", "", $_POST['Name']);

	$Nada = '';
	$Msg  = $_POST['Msg'];


	if(empty($From))
	{                 
    		$Nada.="Le champ d'email est vide !<br>";
	}
	if(empty($Msg))
	{
    		$Nada.="Le champ de message est vide!<br>";
	}
	$noway = "$Nada" ;
	
	if(empty($Nada) && 
	eregi("^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\\.[a-z]{2,4}$",$From))
	{
		$ok = TRUE;
	}
	elseif(!empty($Nada) && 
	eregi("^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\\.[a-z]{2,4}$",$From))
	{
		$ok = FALSE;
	}
	else
	{
		$ml = "votre adresse email est pas correct !<br>";
		$ok = FALSE;
	}
// ------------------------------------------------------------------------- //

// ----------------------------- Upload Files ------------------------------ //
	$status    = '';
	$new_name  = '';
	$get_files = '';
	$all_names = '';
	
	for($i=0;$i<count($_FILES["fileup"]["tmp_name"]);$i++)
	{
		$name=$_FILES["fileup"]["name"][$i];
		$temp=$_FILES["fileup"]["tmp_name"][$i];
		$size=$_FILES["fileup"]["size"][$i];
		$type=$_FILES["fileup"]["type"][$i];
		$h = time();
		if($size > 0)
		{
			global $up_dir, $all_names;
			
			$new_name = $h .'-'. constant('timer') . '-' . $name;
			$new_name = strtr($new_name, " àäåéèêëïîôöùüûñ()[]'~$&%*@ç!?;,:/^?{}|+",  "_aaaeeeeiioouuun____________________E____"); 
			@move_uploaded_file($temp, $up_dir . $new_name);
			$all_names.= "$new_name\n";
		}
	}
// ------------------------------------------------------------------------- //

// ----------------------------- Upload Messages --------------------------- //
	if(empty($all_names))
	{
		$status   = "votre fichier n'est pas chargé.";
	}
	else
	{
		$status    = "Votre ou vos fichiers ont été deposés avec Succes.";
		$get_files = "\nGet the file(s): $up_full";
	}
//--------------------------------------------------------------------------- //

// ----------------------------- Mail Builder ------------------------------ //
	if($ok == "TRUE")
	{
		$referer = $_SERVER["HTTP_REFERER"];
 		$subject = "Feedback";
 		$body    = "Origin: $referer\n";
 		$body.="\n***** Results *****\n\n";

		if(count($_POST))
 		{
			while(list($key, $val) = each($_POST))
			{
				$body.="$key : $val\n";
    		}  
 		}

 		$body.="\n\n";
		$body.="depos_fichiers: $status\n";
		$body.="$all_names\n";
		$body.="$get_files\n";
 		$body.="*************************\n";
		
        $body = stripslashes($body);
  
 		if($online_isp == "1")
 		{
			if(!email("feedback",$dest,$sujet,$body))
			{
				print "Erreur durant l'envois de votre mail <br>";
			}
 		}
 		else
		{
			$header  = '';
			$header.= 'From: "' . $Name . '" <' . $From . ">\r\n";
			$header.= 'Reply-To: "' . $Name . '" <' . $From . ">\r\n";
			$header.= "X-Mailer: PHP/" . phpversion();

			if(!mail($dest, $subject, $body, $header ))
			{
				print "Erreur durant l'envois de votre mail <br>";
			}
		}
// ------------------------------------------------------------------------- //

// ---------------------------- Success Message ---------------------------- //
?>

<html><head><title>Status correct!</title>
</head><body bgcolor="white">
<center><table width="450" border="0" cellspacing="0" cellpadding="0"><tr>
<td width="100%" bgcolor="#000000">
<table width="550" border="0" cellspacing="1" cellpadding="2"><tr>
<td colspan="2" bgcolor="#ffffff"><div align="center"><br>
Merci a vous !<br><br>Votre message a bien été envoyé au webmaster d'ici peu vous recevrez une réponse.<br><br>
<?php echo $status; ?>
<br><p>&nbsp;</p><p>&nbsp;</p>
<p><a href="http://www.restanla.gp/">Retour a la page de maintenance</a></p><br></div>
<font size="-2"><a href="http://www.restanla.gp/" target="_blank">Envoyé votre mail-maintenant!</a></font> 
</tr></table>
</td></tr></table></center></body>
<!--This script sources from SkyMinds.Net (http://www.skyminds.net/) -->
</html>
<?php
	}
// ------------------------------------------------------------------------- //
	else
	{
// ----------------------------- Error Message ----------------------------- //
?>
<html><head><title>Status Erreur!</title>
</head><body bgcolor="white">
<center><table width="450" border="0" cellspacing="0" cellpadding="0"><tr>
<td width="100%" bgcolor="#000000">
<table width="550" border="0" cellspacing="1" cellpadding="2"><tr>
<td colspan="2" bgcolor="#ffffff"><div align="center"><br><b>
<?php 
echo $noway;
echo $ml;
?>
</b><p><br><br>Votre mail n'a pas été envoyé correctement.noter les messages d'érreurs et appuyer sur retour a la page maintenance pour essayer encore <br> si le probleme persiste toujours <a href="http://www.restanla.gp/">contacter le webmaster</a> pour résoudre le probleme.</p>
<p>&nbsp;</p><p>&nbsp;</p>
<p><a href='Javascript:history.go(-1)'>RETOUR</a></p><br></div>
<font size="-2"><a href="http://www.restanla.gp/" target="_blank">Envoyé votre email-maintenant!</a></font>
</tr></table>
</td></tr></table></center></body>
</html>
<?php
// ------------------------------------------------------------------------- //
	} 
}
else
{
	$num = 0;
	$upload_box = '';
	while($num < $UploadNum)
	{
		$num++;
		$upload_box.= "<tr><td><font size='-1' face='verdana'>&nbsp;&nbsp;&nbsp;File $num:</font></td><td><input name='fileup[]' type='file'></td>";
	}
?>
<html>
<head>
<title>Contact form</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#003399" vlink="#003399" alink="#003399"
topmargin=" 0" leftmargin="0" marginwidth="0" marginheight="0" style="border: 1">
<!--
<table border="0" width="60%" align="center"><tr><td valign="top">
<table border="1" width="70%" bordercolor="#000000" bordercolordark="#FFFFFF" cols="1" align="center"><tr><td> 
<form action="<?php echo $_SERVER['../depos_fichiers/PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<table border="0" bordercolor="#000000" height="100" align="center"><tr> 
<td height="5" width="218"><font size="2" face="Arial, Helvetica, sans-serif"><b>Email : </b></font></td><td height="5" width="249"><input type="text" size="30" maxlength="255" name="From" style="background-color: #CCCCCC;font: verdana; color: #000000; border: 0px;" value=""></td></tr><tr><td height="5" width="218"><font size="2" face="Arial, Helvetica, sans-serif">Nom : </font></td><td height="5" width="249"><input type="text" size="30" name="Name" style="background-color: #CCCCCC;font: verdana; color: #000000; border: 0px;" value=""></td></tr></table>
<p align="center"><b><font size="2" face="Arial, Helvetica, sans-serif">Message : </font></b><br><textarea name="Msg" cols="45" rows="7"></textarea><br></p>
<table width="95%" border="0" align="center"><tr align="center"><td>&nbsp;</td>
<?php echo $upload_box; ?></tr></table>
<p align="center"><br>
<input type="reset" name="reset" value=" Effacer ">
<input type="submit" name="submit" value=" Envois " style="background-color:#CCCCCC">
</p>
</form>
<font size="-2"><a href="http://www.restanla.gp/" target="_blank">Envoyé votre mail-maintenant!</a></font>
</td></tr></table>
</td></tr></table>
</body>
</html>
<?php } ?>
merci a vous dans l'attente