Php

Fermé
Rive85 - 2 mars 2011 à 16:35
 Profil bloqué - 2 mars 2011 à 17:43
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
2 mars 2011 à 16:44
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
Le Message exact est "impossible de copier le fichier dans upload/19846581"

Merci
0
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é
2 mars 2011 à 16:44
Bonjour,

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

0
<?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 lundi 13 décembre 2010 Statut Membre Dernière intervention 15 novembre 2012 1
2 mars 2011 à 16:52
Bah, il faut coller votre code :p




0
Utilisateur anonyme
2 mars 2011 à 17:00
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
2 mars 2011 à 17:02
en plus vous créez des sous répertoires
donc il faut des droits récursifs sur /upload
0
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
2 mars 2011 à 17:12
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
upload est bien créé sur mon serveur
0
Utilisateur anonyme
2 mars 2011 à 17:15
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é
2 mars 2011 à 17:19
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
et si telle est pas le cas
0
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