J'ai un gros soucis avec l'upload de fichiers sur leurs serveurs. Je me suis renseigné chez eux et j'ai appliqué ce qu'ils m'ont dit. Mais c'est sans succès ! Mais je fais peut-être aussi faux !?!?!?!?!
Alors voilà mon problème :
J'ai créer une interface pour permettre au futur gestionnaire d'envoyer des images sur le serveur. Le problème, c'est que je n'arrive pas à changer les droits sur un dossier précis.
alors le voilà (c'est un joli mélange de ce que j'ai pu repêché par si par là...)
<?php
// répertoire des grandes images
$dir = '../images/references';
// répertoire des miniatures
$dir_mini = '../images/references/miniatures';
// Proportion de la miniature par rapport à l'originale.
$ratio = 80;
// test si le formulaire a été soumis
if (isset($_POST['go'])) {
// test si le champ est vide ou pas
if (empty($_FILES['img']['tmp_name'])) {
// si oui, message d'erreur
$erreur = ' Aucun fichier envoyé. ';
}
else {
// examen du fichier uploadé + récupération des données
$tableau = @getimagesize($_FILES['img']['tmp_name']);
if ($tableau = = FALSE) {
// efface le fichier uploadé si pas image + message d'erreur
unlink($_FILES['img']['tmp_name']);
$erreur = ' Votre fichier n\'est pas une image. ';
}
else {
// test le type de notre image : jpeg ou png
if ($tableau[2] == 2 || $tableau[2] == 3) {
// modification du nom du fihcier si déjà existant
if (is_file('../images/references/'.$_FILES['img']['name'])) $file_upload = 'copie'.$_FILES['img']['name'];
else $file_upload = $_FILES['img']['name'];
// copie du fichier dans le répertoire des grandes images
copy ($_FILES['img']['tmp_name'], $dir.'/'.$file_upload);
// générer la miniature
// si image type jpeg
if ($tableau[2] == 2) {
// créer petite image l'aide de la librairie GD
$src = imagecreatefromjpeg($dir.'/'.$file_upload);
// test si image type paysage ou portrait
if ($tableau[0] > $tableau[1]) {
$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
}
else {
$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
}
// copie du fichier dans le répertoire des miniatures
imagejpeg ($im, $dir_mini.'/'.$file_upload);
}
elseif ($tableau[2] == 3) {
$src = imagecreatefrompng($dir.'/'.$file_upload);
if ($tableau[0] > $tableau[1]) {
$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
}
else {
$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
}
imagepng ($im, $dir_mini.'/'.$file_upload);
}
// on redirige l'administrateur
header('location: photosliste.php');
exit();
}
else {
// si image n'est pas de type jpeg ou png, suppression du fichier uploadé + message d'erreur
unlink($_FILES['img']['tmp_name']);
$erreur = ' Votre image n\'est pas au bon format (jpeg ou png). ';
}
}
}
}
// test si le formulaire supprimer a été soumis
if (isset($_GET['supprimer'])) {
if (empty($_GET['supprimer'])) {
// si paramètre est pas renseignée => message d'erreur
$erreur = ' Aucune image à supprimer. ';
}
else {
$sup = $_GET['supprimer'];
// si image + miniature existent => suppression
if (is_file('../images/references/miniatures/'.$sup) && is_file('../images/references/'.$sup)) {
unlink('../images/references/miniatures/'.$sup);
unlink('../images/references/'.$sup);
}
// si image ou miniature n'existe pas => message d'erreur
else {
$erreur = 'Image non reconnue.';
}
}
}
?>
salut,
je suis etudiante et j'étudier un projet fin d'etude et la rechaerche je trouve beaucoup des solutions emailing Comment je veux héberger ces solutions sur unserveur linux ?
et merci d'avance