cs_christuckers
Messages postés75Date d'inscriptionjeudi 27 juillet 2006StatutMembreDernière intervention26 mars 2010
-
8 nov. 2007 à 11:51
janatsiham
Messages postés7Date d'inscriptionvendredi 16 janvier 2009StatutMembreDernière intervention20 décembre 2011
-
20 déc. 2011 à 16:22
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) :
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...
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
cs_christuckers
Messages postés75Date d'inscriptionjeudi 27 juillet 2006StatutMembreDernière intervention26 mars 2010 14 déc. 2009 à 16:59
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"); ?>
janatsiham
Messages postés7Date d'inscriptionvendredi 16 janvier 2009StatutMembreDernière intervention20 décembre 2011 20 déc. 2011 à 16:22
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 ^_^