Upload fichier pdf

Signaler
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010
-
Messages postés
7
Date d'inscription
vendredi 16 janvier 2009
Statut
Membre
Dernière intervention
20 décembre 2011
-
Bon ba ca m'enerve de vous poser une question, mais après avoir chercher sur Google et sur ce site, je n'ai pas trouvé la réponse que j'attendais...

Je tiens à préciser que je suis chez OVH (je ne sais pas si ca fait quelque chose à mon problème).

Je cherche donc à uploader des fichiers PDF sur la partie du serveur qui m'appartient (je ne suis que mutualisé). Voici mon formulaire (qui se nomme upoad1.php) :


<form method="post" enctype="multipart/form-data" action="upload.php">

</form>




Bon j'ai pas mis de HTML pour comprendre le code tout betement.

Voici ma page upload.php :


<?php






if( isset($_POST['upload']) ) // si formulaire soumis
{
    $content_dir = 'sas/contrats/'; // dossier où sera déplacé le fichier



    $tmp_file = $_FILES['fichier']['tmp_name'];



    if( !is_uploaded_file($tmp_file) )
    {
        exit("Le fichier est introuvable");
    }



    // on vérifie maintenant l'extension
    $type_file = $_FILES['fichier']['type'];



    if( !strstr($type_file, 'pdf') && !strstr($type_file, 'docx') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
    {
        exit("Le fichier n'est pas au bon format");
    }



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



    if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
    {
        exit("Impossible de copier le fichier dans $content_dir");
    }



    echo "Le fichier a bien été uploadé";
}






?>


La plupart des reponses que j'ai trouvé sont simples, il suffisait de modifier le CHMOD en 777 du dossier dans lequel je voulais enregistrer le fichier que je voulais uploader, mais la je l'ai fait, e ça ne marche toujours pas...

Voici les messages d'erreur que j'ai :

Warning: move_uploaded_file(sas/contrats/ctrt1.pdf) [


function.move-uploaded-file
]: failed to open stream: No such file or directory in /home.10.22/industry/www/sas/upload.php on line 25

Warning: move_uploaded_file() [
function.move-uploaded-file
]: Unable to move '/tmp/phpE2Xorz' to 'sas/contrats/ctrt1.pdf' in /home.10.22/industry/www/sas/upload.php on line 25
Impossible de copier le fichier dans sas/contrats/


Voila, donc si quelqu'un pouvait me dire d'ou vient l'erreur, ca m'arrangerait beaucoup

Merci d'avance...
A voir également:

6 réponses

Messages postés
54
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
21 septembre 2018

up
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010

Alors, j'ai trouvé la réponse malheuresement cela date tellement que j'ai zappé de mettre la réponse ici.

A noter que le code n'était pas de moi, et qu'avec ce code, je n'arrive pas à uploader de fichier txt, sans doute une sécurite de mon hebergeur (OVH)


<? // définition de l'espace destiné à recevoir les fichiers
$repository="upload/";

// si un fichier maphoto a bien été transféré
if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) {
// recupération de l'extension du fichier
// autrement dit tout ce qu'il y a après le dernier point (inclus)
$nomFichier = $_FILES["monfichier"]["name"];
$extension = substr($nomFichier, strrpos($nomFichier, "."));
// Contrôle de l'extension du fichier
if (eregi("^ph", $extension)) {
die("Les fichiers en .ph* ne sont pas autorisés.");
}
$cheminFichier = $nomFichier ;
move_uploaded_file ($_FILES["monfichier"]["tmp_name"], $repository.$cheminFichier);
}

// fixe les droits de $dir à 0777
// Exemple de requete de stockage en BD avec MySQL
// et une table qui aurait pu être créée par
// CREATE TABLE matable (login varchar(64), image varchar(64), icone varchar(64));
mysql_query("INSERT INTO matable(id,nomfichier) VALUES ('" . addslashes($id)
. "','" . addslashes($nomFichier) . "')");
?>
<? renvoi("body2.php"); ?>
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010

pour la derniere ligne, body2.php correspond à la page sur laquelle j'arrive, une fois mon fichier uploader...
Messages postés
54
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
21 septembre 2018

En effet ton post date de 2007.
J'examine ça et je te remercie.
Messages postés
16
Date d'inscription
samedi 20 novembre 2010
Statut
Membre
Dernière intervention
8 mars 2011

Hey ! Tu dois non seulement vèrifier le type mime mais aussi dans ton code je peu très facilement uploader "monfichier.nimportequoi" ...

Tu te doits de vérifier si c'est le bon fichier en upload . Pas si c'est les mauvais !!!


Débute en PHP après 6 ans en design intensif en CSS et HTML.
Messages postés
7
Date d'inscription
vendredi 16 janvier 2009
Statut
Membre
Dernière intervention
20 décembre 2011

le problème est seulement dans le chemin du fichier alors il faut juste spécifiez exactement le chemin ou on va enregistrer le fichier par exemple le nom du dossier dans lequel on va enregistre le fichier est nomFichier alors dans la ligne
$content_dir = 'sas/contrats/';
on écrit
"$content_dir = '../nomFichier /'; "
sachant que le fichier nomFichier est dans le dossier général du site.
petite réponse pour ceux qui vont utiliser ce code ^_^