Problemes lors de l'upload d'un fichier

Fermé
sachaf23 Messages postés 1 Date d'inscription mardi 26 avril 2011 Statut Membre Dernière intervention 26 avril 2011 - 26 avril 2011 à 10:08
Bonjour,
Je travaille depuis quelques jours sur une application de gestion de courrier où il faut uploader le scan du courrier. Tout marche bien en local sur ma machine, mais depuis que j'ai déployé sur une autre machine, les fichiers ne sont pas déplacés et parfois les nouveaux noms sont sans extension, bref le fonctionnement est tout autre. Je souligne que les deux machines tournent sous la même distribution de ubuntu (10.4) et les php5 etc... sont à la dernière mise à jour, même que le fichier php.ini est le même.
Je joins la partie des deux scripts qui posent problèmes

ajouter_courrier.php
<?php

session_start ();			//Lancer la session

if ((isset($_SESSION['mot_de_passe']) && isset($_SESSION['login'])) && isset($_SESSION['type']))		//Permet de savoir si l'utilisateur est passé par le formulaire

{

	if ($_SESSION['type']=="secretariat")

	{

		include("fonctions.php");

		$db = "gestion_courrier_atrpt";

		open_database();

		if ((isset($_POST['objet']) && isset($_POST['date'])) && isset($_POST['reference']))

		{

			$date = mktime(0, 0, 0, $_POST['mois'], $_POST['date'], $_POST['annee']);

			$objet = mysql_real_escape_string(htmlspecialchars($_POST['objet']));

			$reference = mysql_real_escape_string(htmlspecialchars($_POST['reference']));

			$num_attribution = mysql_real_escape_string(htmlspecialchars($_POST['num_attribution']));

			$type = mysql_real_escape_string(htmlspecialchars($_POST['type']));

			$affiliation = mysql_real_escape_string(htmlspecialchars($_POST['affiliation']));

			$commentaire = mysql_real_escape_string(htmlspecialchars($_POST['commentaire']));

			$attribution = NULL;

			$sous_attribution = NULL;

			$url1 = NULL;

			$contact_interlocuteur = mysql_real_escape_string(htmlspecialchars($_POST['contact_interlocuteur']));

			$nom_interlocuteur = mysql_real_escape_string(htmlspecialchars($_POST['nom_interlocuteur']));

			$adresse_interlocuteur = mysql_real_escape_string(htmlspecialchars($_POST['adresse_interlocuteur']));

			$date_creation = mysql_real_escape_string(htmlspecialchars($_POST['date_creation']));

			$date_modification = mysql_real_escape_string(htmlspecialchars($_POST['date_modification']));

		

			$request1 = "INSERT INTO courrier(id, date, objet, reference, num_attribution, contact_interlocuteur, nom_interlocuteur, adresse_interlocuteur, date_creation, date_modification, type, affiliation, commentaire, url) VALUES('', '". $date ."', '". $objet ."', '". $reference ."', '". $num_attribution ."', '". $contact_interlocuteur ."', '". $nom_interlocuteur ."', '". $adresse_interlocuteur ."', '". $date_creation ."', '". $date_modification ."', '". $type ."', '". $affiliation ."', '". $commentaire ."', '". $url1 ."')";

			$retour1 = writter_database($db, $request1);

			//$retour = mysql_query("INSERT INTO courrier(id, date, objet, reference, attribution, contact_interlocuteur, nom_interlocuteur, adresse_interlocuteur, date_creation, date_modification, url) VALUES('', '". $date ."', '". $objet ."', '". $reference ."', '". $attribution ."', '". $contact_interlocuteur ."', '". $nom_interlocuteur ."', '". $adresse_interlocuteur ."', '". $date_creation ."', '". $date_modification ."', 'papa')");

			

			if (!(empty($_FILES['fichier']['tmp_name'])))

			{

			$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'pdf');

			$extension_upload = strtolower(  substr(  strrchr($_FILES['fichier']['name'], '.')  ,1)  );

			

			$request2 = "SELECT id FROM courrier ORDER BY id DESC LIMIT 1";

			$retour2 = reader_database($db, $request2);

			while ($donnees2 = mysql_fetch_array($retour2))

			{

				$id = $donnees2['id'];

			}

			if (($type == "arrivee") && (!empty($num_attribution)))

			{

				$nom = "uploads/a_{$num_attribution}.{$extension_upload}";

			}

			elseif (($type == "depart") && (!empty($num_attribution)))

			{

				$nom = "uploads/d_{$num_attribution}.{$extension_upload}";

			}

			else

			{

				$nom = "uploads/{$id}.{$extension_upload}";

			}

			if ($_FILES['fichier']['error'] == 0)

			{

				//if ($_FILES['fichier']['size'] > $maxsize)

				//{

					if ( in_array($extension_upload,$extensions_valides) )

					{

						$resultat = move_uploaded_file($_FILES['fichier']['tmp_name'],$nom);

						$url = $nom;

					}

				//}

			}

			if (isset($url))

			{

				$request3 = "UPDATE courrier SET url='". $url ."' WHERE id='". $id ."'";

				$retour3 = writter_database($db, $request3);

			}

			}

			writter_log( "La secretaire a ajouté le courrier " . $id . " au système.", "log.txt" );

			header ('location: secretariat.php');

		}

		else

		{

			$request4 = "SELECT * FROM courrier WHERE type='arrivee' AND archive='non'";

			$retour4 = reader_database($db, $request4);

			

			$request5 = "SELECT * FROM courrier WHERE type='depart' AND archive='non'";

			$retour5 = reader_database($db, $request5);

?>


modifier_courrier.php
<?php

session_start ();			//Lancer la session

if ((isset($_SESSION['mot_de_passe']) && isset($_SESSION['login'])) && isset($_SESSION['type']))		//Permet de savoir si l'utilisateur est passé par le formulaire

{

	if ($_SESSION['type']=="secretariat")

	{

		include("fonctions.php");

		$db = "gestion_courrier_atrpt";

		open_database();

		if ((isset($_POST['objet']) && isset($_POST['date'])) && isset($_POST['reference']))

		{

			$id = mysql_real_escape_string(htmlspecialchars($_POST['id']));

			$date = mktime(0, 0, 0, $_POST['mois'], $_POST['date'], $_POST['annee']);

			$objet = mysql_real_escape_string(htmlspecialchars($_POST['objet']));

			$reference = mysql_real_escape_string(htmlspecialchars($_POST['reference']));

			$num_attribution = mysql_real_escape_string(htmlspecialchars($_POST['num_attribution']));

			$type = mysql_real_escape_string(htmlspecialchars($_POST['type']));

			$affiliation = mysql_real_escape_string(htmlspecialchars($_POST['affiliation']));

			$commentaire = mysql_real_escape_string(htmlspecialchars($_POST['commentaire']));

			$attribution = mysql_real_escape_string(htmlspecialchars($_POST['attribution']));

			$sous_attribution = mysql_real_escape_string(htmlspecialchars($_POST['sous_attribution']));

			$contact_interlocuteur = mysql_real_escape_string(htmlspecialchars($_POST['contact_interlocuteur']));

			$nom_interlocuteur = mysql_real_escape_string(htmlspecialchars($_POST['nom_interlocuteur']));

			$adresse_interlocuteur = mysql_real_escape_string(htmlspecialchars($_POST['adresse_interlocuteur']));

			$date_creation = mysql_real_escape_string(htmlspecialchars($_POST['date_creation']));

			$date_modification = mysql_real_escape_string(htmlspecialchars($_POST['date_modification']));

			

			if (empty($_FILES['fichier']['tmp_name']))

			{

				$request1= "UPDATE courrier SET id='". $id ."', date='". $date ."', objet='". $objet ."', reference='". $reference ."', num_attribution='". $num_attribution ."', attribution='". $attribution ."', sous_attribution='". $sous_attribution ."', contact_interlocuteur='". $contact_interlocuteur ."', nom_interlocuteur='". $nom_interlocuteur ."', adresse_interlocuteur='". $adresse_interlocuteur ."', date_creation='". $date_creation ."', date_modification='". $date_modification ."', type='". $type ."', affiliation='". $affiliation ."', commentaire='". $commentaire ."' WHERE id='". $id ."'";

				$retour1 = writter_database($db, $request1);

				

				$request6 = "SELECT url FROM courrier WHERE id=" . $_POST['id'];

				$retour6 = reader_database($db, $request6);

				while ($donnees6 = mysql_fetch_array($retour6))

				{

					$url = $donnees6['url'];

				}

				$extension_upload = strtolower(  substr(  strrchr($url, '.')  ,1)  );

				if (($type == "arrivee") && (!empty($num_attribution)))

				{

					$nom = "uploads/a_{$num_attribution}.{$extension_upload}";

					rename($url, $nom);

					$url = $nom;

				}

				elseif (($type == "depart") && (!empty($num_attribution)))

				{

					$nom = "uploads/d_{$num_attribution}.{$extension_upload}";

					rename($url, $nom);

					$url = $nom;

				}

				else

				{

					$nom = "uploads/{$id}.{$extension_upload}";

					rename($url, $nom);

					$url = $nom;

				}

				$request7 = "UPDATE courrier SET url='". $url ."' WHERE id='". $id ."'";

				$retour7 = writter_database($db, $request7);

			}

			else

			{

				$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'pdf');

				$extension_upload = strtolower(  substr(  strrchr($_FILES['fichier']['name'], '.')  ,1)  );

				if (($type == "arrivee") && (!empty($num_attribution)))

				{

					$nom = "uploads/a_{$num_attribution}.{$extension_upload}";

				}

				elseif (($type == "depart") && (!empty($num_attribution)))

				{

					$nom = "uploads/d_{$num_attribution}.{$extension_upload}";

				}

				else

				{

					$nom = "uploads/{$id}.{$extension_upload}";

				}

				if ($_FILES['fichier']['error'] == 0)

				{

					//if ($_FILES['fichier']['size'] > $maxsize)

					//{

						if ( in_array($extension_upload,$extensions_valides) )

						{

							unlink($nom);

							$resultat = move_uploaded_file($_FILES['fichier']['tmp_name'],$nom);

							$url = $nom;

						}

					//}

				}

				$request2= "UPDATE courrier SET id='". $id ."', date='". $date ."', objet='". $objet ."', reference='". $reference ."', attribution='". $attribution ."', contact_interlocuteur='". $contact_interlocuteur ."', nom_interlocuteur='". $nom_interlocuteur ."', adresse_interlocuteur='". $adresse_interlocuteur ."', date_creation='". $date_creation ."', date_modification='". $date_modification ."', type='". $type ."', affiliation='". $affiliation ."', commentaire='". $commentaire ."', url='". $url ."' WHERE id='". $id ."'";

				$retour2 = writter_database($db, $request2);

			}

			writter_log( "La secretaire a modifié le courrier " . $id . " du système.", "log.txt" );

			header ('location: secretariat.php');

		}

		if (isset($_GET['modifier_courrier']))

		{

			$request = "SELECT * FROM courrier WHERE id='" . $_GET['modifier_courrier'] . "'";

			$retour = reader_database($db, $request);

			

			$request4 = "SELECT * FROM courrier WHERE type='arrivee' AND archive='non'";

			$retour4 = reader_database($db, $request4);

			

			$request5 = "SELECT * FROM courrier WHERE type='depart' AND archive='non'";

			$retour5 = reader_database($db, $request5);

?>