Bonjour,
J'aimerais savoir s'il est possible d'enregistrer des fichiers dans un dossier au même niveau que www.
Pour cela, j'ai utilisé une page formulaire html et un fichier php qui permettent de réaliser cet upload.
La commande move_uploaded_file fonctionne très bien tant que j'utilise un répertoire de destination du genre dirname(FILE).('mon_dossier'), auquel cas le fichier uploadé via le formulaire est placé dans le sous répertoire mon_dossier du répertoire www
Mais
Si j'essaie d'enregistrer le fichier dans un répertoire au même niveau que www, en utilisant dirname('/home/xxxxxxx/mon_dossier'), en ayant préalablement créé mon_dossier via le ftp, ça ne fonctionne pas.
Il y a certainement quelque chose que je n'ai pas compris, vos lumières seraient les bienvenues !
Je suis débutant, mais j'essaie d'apprendre… Merci d'avance.
Martin
Bonjour @MartinM7
utilise filezilla pour transférer tes dossiers et fichiers
C'est déjà le cas, ce n'est pas l'objectif: l'idée est qu'un utilisateur puisse uploader un fichier via la page de formulaire créée, mais que ce fichier soit enregistré non pas dans un dossier dépendant de www (ce qui fonctionne déjà comme indiqué dans mon précédent message), mais dans un dossier au même niveau que www.
Est ce plus clair?
l'idée est qu'un utilisateur puisse uploader un fichier via la page de formulaire créée
Owncloud le fait (pour ne citer que celui-là)
Ça fait même partie des recommandations d'installation: mettre le répertoire 'data' en dehors de l'installation owncloud.
Merci pour l'idée, mais l'objectif est d'utiliser l'espace de stockage alloué à mon hébergement.
Comme je disais, je pourrais stocker les fichiers uploadés par le formulaire dans un dossier contenu dans le dossier www, ça fonctionne, mais j'aimerais pouvoir stocker les fichiers uploadés dans un dossier de même niveau que www, comme mon_dossier sur l'image ci-dessous.
Or, je n'arrive pas à enregistrer les fichiers reçus dans ce dossier avec le code php suivant:
$nomOrigine = $_FILES['gic_file']['name'];
$elementsChemin = pathinfo($nomOrigine);
$extensionFichier = $elementsChemin['extension'];
$extensionsAutorisees = array('gic');
if (!(in_array($extensionFichier, $extensionsAutorisees))) {
echo 'extension error';
} else {
$repertoireDestination = dirname('/home/xxxxxx/mon_dossier/');
$nomDestination = $nomOrigine;
if (move_uploaded_file($_FILES['gic_file']['tmp_name'],
$repertoireDestination.$nomDestination)) {
echo ' fichier temporaire '.$_FILES['gic_file']['tmp_name'].
' déplacé vers '.$repertoireDestination.$nomDestination;
} else {
echo ' échec upload vers '.$repertoireDestination;
}
}
?>
J'ai trouvé la réponse, je la poste ici des fois que cela puisse aider d'autres personnes.
Afin d'uploader un fichier vers un dossier au même niveau que le dossier www sur ovh, il suffit d'utiliser le dirname suivant (en reprenant mon exemple):
`dirname(FILE).('/../mon_dossier/')`
