Php
Rive85
-
Profil bloqué -
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
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:
- Php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour à la ligne php ✓ - Forum PHP
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
5 réponses
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)
* 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)
<?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();
?>
$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();
?>
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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é
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é
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
;)
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
;)
Merci
Merci