Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 28/01/2010, 13h55   #1
Invité de passage
 
Inscription : février 2008
Messages : 4
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 4
Points : 1
Points : 1
Par défaut Copier un fichier dans un dossier sur le serveur avec PHP

Bonjour,
je veux copier le fichier qui est telecharger par le formulaire dans un dossier nommé "docs/attestations" et en même temps d'insérer son lien dans un table pour d'accéder dans une page:

Problème: le lien est bien insérer dans le table mais le fichier n'est pas copier dans le dossier cible.

Le Code est :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function addnew()
{  extract($GLOBALS);
 
   $maxsize=5000;$maxwidth=8000;$maxheight=8000;
 
	  if ($_FILES['fichier']['error'] > 0) $erreur = "Erreur lors du transfert";
	  if ($_FILES['fichier']['size'] > $maxsize) $erreur = "Le fichier est trop gros";
	  $extensions_valides = array( 'doc' , 'pdf' , 'xdoc' , 'jpg' );
 
	  $extension_upload = strtolower(  substr(  strrchr($_FILES['fichier']['name'], '.')  ,1)  );
	  if (! in_array($extension_upload,$extensions_valides) ) echo "Extension incorrect";
	  $image_sizes = getimagesize($_FILES['fichier']['tmp_name']);
	  if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight) echo"Image trop grande";
	  //Créer un identifiant difficile à deviner
	  $id_membre = md5(uniqid(rand(), true));
	  $nom = "docs/attestations/{$id_membre}.{$extension_upload}";
	  echo "dossier temp=".$_FILES['fichier']['tmp_name'];
	  $resultat = move_uploaded_file($_FILES['fichier']['tmp_name'],$nom);
 
		if($resultat) echo ' fait avec succes';
		else echo 'erreur d tele';
 
   // addnew rec
  $strsql="INSERT INTO ".$TableName."(attclientTitle,attclient,dcr,".$ITableKey.") VALUES(" ;
  $strsql.="'".verifposted("frmprodTitle")."',";
  $strsql.="'".$nom."',";
 
  $strsql.="now(),";
 
  $strsql.="".verifposted("prodid").") ";
  $strsql.=";";
  mysql_query($strsql) or die ("Erreur : ". mysql_error()) ;
  $last_id =  mysql_insert_id() ;
 
print "<html><script language=\"javascript\">location.href='".thisscript()."?frmidxid=".$qryidxid."&frmid=".$qryid."&pg=".$pg."'</script></html>";
 
}
Merci d'avance
dotnet_kbma est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2010, 21h27   #2
Membre Expert
 
Avatar de David Guillot
 
Homme David Guillot
Chef de projet en SSII
Inscription : mars 2004
Messages : 879
Détails du profil
Informations personnelles :
Nom : Homme David Guillot
Âge : 27
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2004
Messages : 879
Points : 1 149
Points : 1 149
Salut

Obtiens-tu un message d'erreur ou ton message "Erreur d tele" (bien que je ne voie pas ce que ce message signifie lol) ?

Là comme ça à vue de nez je serais tenté par un problème de droit d'écriture dans ton dossier, mais sans message d'erreur c'est une simple supposition.....
__________________
Avant de poser une question ici :

Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé
David Guillot est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 20h23.


 
 
 
 
Partenaires

Hébergement Web