Php

Rive85 -  
 Profil bloqué -
Bonjour,
J'ai creer un formulaire php auquel j'y ai ajouter une possibilite de joindre une photo (taille maxi 5Mo), probleme lorsque je remplie mon formulaire et que je souhaite joindre une photo losque je clique sur envoie, il me met une erreur comme quoi c'est impossible de copier le fichier dans upload/des numero.
J'ai essayer de creer se sous repertoire a la racine de mon site, meme prob, et a la racine de mon formulaire meme prob aussi...
J'ai aussi essayer de mettre un chmod 777 sur le repertoir upload a la racine du site via filzilla mais toujours le meme probleme. "Impossible de copier le fichier dans upload/chiffre" est le message qui reviens a chaque fois; je voi pas d'ou ca vient....

Est ce que quelqun peut m'aider.
Merci



A voir également:

5 réponses

Utilisateur anonyme
 
Votre php.ini est-il bien configuré pour accepter l'upload ?

* file_uploads
* upload_max_filesize
* max_input_time
* memory_limit
* max_execution_time
* post_max_size

Même chose pour le httpd.conf avec la variable LimitRequestBody

voir ce lien http://www.radinks.com/upload/config.php

Quel est le message d'erreur exact ?

Ca peut être aussi un problème de droits liés au groupe et propriétaire du répertoire (chown)
0
Rive85
 
Le Message exact est "impossible de copier le fichier dans upload/19846581"

Merci
0
Rive85
 
je viens de verifier je n'ai pas de php.ini, comment on cree se fichier et ou le met on

Merci
0
Profil bloqué
 
Bonjour,

peut tu montrer le code de ton formulaire ,merci sa aidera !

0
Rive85
 
<?PHP
$url_upload='';
$data='';
$data.='Nom :='.$_POST["id_44"].'<br>';
$data.='Travaux :='.$_POST["hidden_45"].'<br>';
$data.='Adresse :='.$_POST["id_46"].'<br>';
$data.='Code Postal :='.$_POST["id_47"].'<br>';
$data.='Ville :='.$_POST["id_48"].'<br>';
$data.='Votre E-Mail :='.$_POST["id_49"].'<br>';
$data.='Telephone :='.$_POST["id_50"].'<br>';
$data.='Demande :='.$_POST["id_51"].'<br>';
$data.='Descriptif de vos travaux :='.$_POST["id_52"].'<br>';
$chiffre=rand(100,999).rand(100,999).rand(100,999);
$content_dir = 'upload/';
$content_dir.=$chiffre."/";
$envoi_mail_pj=1;
IF (!file_exists("./upload")){
umask(0);
@mkdir("./upload",0777);
}
IF (!file_exists("./upload/$chiffre")){
umask(0);
@mkdir("./upload/$chiffre",0777);
}$nb_fic=0;
$url_chemin=str_replace("envoi.php","",$_SERVER["SCRIPT_URI"]);

$tmp_file = $_FILES['id_58']['tmp_name'];
if ($tmp_file<>""){
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}

if ( $_FILES['id_58']['size']>6000000){
exit("Le poids de votre fichier est trop important.");
}

// on vérifie maintenant l'extension
$type_file1 = explode(".",$_FILES['id_58']['name']);


$type_file=strtolower($type_file1[count($type_file1)-1]);
IF (!strstr($type_file, 'jpg')&& !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') && !strstr($type_file, 'png') ){
exit("Ce type de fichier n'est pas autorisé.");
}

// on copie le fichier dans le dossier de destination
$name_file = $_FILES['id_58']['name'];

if( @preg_match('#[\x00-\x1F\x7F-\x9F/\\]#', $name_file))
{
exit("Nom de fichier non valide");
}
else {
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
else {
$url_upload.='fichier à télécharger sur le serveur : '.$url_chemin.$content_dir . $name_file.'<br>';
$nb_fic++;
$tab_fic[$nb_fic][0]=$content_dir . $name_file;
$tab_fic[$nb_fic][1]=$_FILES['id_58']['type'];
}
}
}



$data.=$url_upload;
include('mimemail.php');
if (!$fp=fopen('./upload/'.$chiffre.'/renseignements.htm','w')){}else {;
fputs($fp,$data);
fclose($fp);}
$m = new CMIMEMail('Vous <moi@moi.com>','<moi@moi.com>','demande de renseignement');
$m->mailbody($data,$data);
if ($nb_fic>0 && $envoi_mail_pj==1){
$x=1;

while ($x<=count($tab_fic)){

$m->attachFile($tab_fic[$x][0],$tab_fic[$x][1]);
$x++;
}
}
$m->send();
header("location: merci.html");
exit();
?>
0
mrhassanV2 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   1
 
Bah, il faut coller votre code :p




0
Utilisateur anonyme
 
Dans le code je vois que vous créez le répertoire, ça marche ça ?

Le répertoire est bien créé ?

Je vous conseillerais bien de créer le répertoire en dur avec votre FTP, de mettre les droits, puis de commenter la partie création répertoire dans le code et de réessayer.
0
Utilisateur anonyme
 
en plus vous créez des sous répertoires
donc il faut des droits récursifs sur /upload
0
Rive85
 
Dans le code je vois que vous créez le répertoire, ça marche ça ?

Le répertoire est bien créé ?

Je ne comprend pas mon code est il faut ?
les sous répertoires il le crée en automatique
0
Utilisateur anonyme
 
Etes-vous certain que le répertoire upload est bien créé sur votre serveur web ?
Si ça ce trouve PHP n'a pas suffisament de droits pour créer des répertoires
0
Rive85
 
upload est bien créé sur mon serveur
0
Utilisateur anonyme
 
ok
et vous avez regardé les variables du php.ini et du httpd.conf ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Profil bloqué
 
Certains serveur empechent leurs utilisateurs d'octroyer tout les droits a leurs dossiers
pour verifier ca il te sufffit de crer un dossier en ch mode 777 via ton code php
ensuite avec ton navigateur ftp verifier ce meme dossier a bel et bien gardé cette propriété
clique droit sur dossier ==> propriété
0
Rive85
 
et si telle est pas le cas
0
Profil bloqué
 
a ce moment la tu dois changer ton script
de facon a creer ton script via la ftp
exemple


$ftp = ftp_connect("$host"); // On prépare la connexion

ftp_login($ftp,"$login","$password"); // On se connecte au serveur

ftp_mkdir ($ftp,"dossier-voitures /image-ferrari"); // Création du dossier. (chemin depuis la racine du serveur)




ftp_quit ($ftp); // On se déconnecte du serveur

ici tu trouvera toute les possibilités de la fonction ftp qui fait exactement la meme chose que celle que tu utilise actuellement
seulement avec cette fonction tes droits restent a 777 et ne changent pas


https://www.php.net/manual/fr/ref.ftp.php

;)
0