Bonjour, je n'ai pas trouvé exactement ce que je recherchais sur le forum.
Je voudrais pouvoir copier un dossier (qui se trouve sur mon ordi en local) dans mon dossier perso en ligne.
J'ai récupéré et modifier un code qui permet de sélectionner un fichier en local et de le copier en ligne, mais pas le dossier.
Si ca peut aider voici le code (on sélectionne une image qu'on copie en ligne, mais moi je veux choisir un dossier et pas un fichier), merci :
<?php
if( isset($_POST['upload']) ) // si formulaire soumis
{
$content_dir = ''; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
if( !is_uploaded_file($tmp_file) )
{
exit("ERREUR : Le fichier est introuvable");
}
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier']['type'];
if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'gif') )
{
exit("ERREUR : Le fichier n'est pas une image");
}
// 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("ERREUR : Impossible de copier l'image sur le serveur");
}
echo "Image transférée avec succés <br>";
}
//
//
// On recupere le nom de l'image
$nom_fichier = $_FILES ["fichier"]["name"];
// On donne le chemin de destination
//on recupere l'image source pour extraire sa largeur et hauteur
$ext = $_FILES ["fichier"]["ext"];
$photo = $nom_fichier;
$size_img =getimagesize($photo);
//
//
if( $size_img[0] > "256" )
{
echo ":: Image redimensionnée car largeur supérieur à 256 pixel :: <br>";
//largeur de la miniature
$larg_min=256;
//recherche du coef reducteur
$coef_reduc=$size_img[0]/$larg_min;
//calcul de la hauteur miniature en division la hauteur d'origine par le coef reducteur
$Hauteur_min=$size_img[1]/$coef_reduc;
//on arrondit le coef pas obligatoire mais bon
$Hauteur_min=ceil($Hauteur_min);
//echo $size_img[0];
//
//
$fichierSource = $nom_fichier;
$largeurDestination = $larg_min;
$hauteurDestination = $Hauteur_min;
$im = @ImageCreateTrueColor ($largeurDestination, $hauteurDestination)
or die ("Erreur lors de la création de l'image");
$source = ImageCreateFromJpeg($fichierSource);
$largeurSource = imagesx($source);
$hauteurSource = imagesy($source);
ImageCopyResampled($im, $source, 0, 0, 0, 0, $largeurDestination, $hauteurDestination, $largeurSource, $hauteurSource);
ImageString($im, 0, 0, 0, "", $blanc);
// insertion dans l'image d'un texte
//ImageString($im, 0, 12, $hauteurDestination-18, "$fichierSource - ($largeurSource x $hauteurSource)", $blanc);
$miniature = "$fichierSource";
ImageJpeg ($im, $miniature);
}
else
{
echo ":: Taille image correct ::";
}
//
//------------------------------------------
// Fonction pour lire le contenu du fichier dans
// un buffer
function readFileIntoBuffer( $filename )
{
@$fp = fopen( $filename, "r");
if ( $fp )
{
$val = fread( $fp, filesize( $filename ));
fclose( $fp );
return $val;
}
return false;
}
//----------------------------------------------
// Fonction pour ecrire $content dans un fichier
function writeFile( $filename,$content )
{
@$fp = fopen( $filename, "w");
if ( $fp )
{
$val = fwrite( $fp, $content);
fclose( $fp );
return 1;
}
return false;
}
//-----------------------------------------------
// On lit le fichier Guest Book
$gbook=readFileIntoBuffer('image.xml');
// On ajoute le dernier message ajouté
//$NewMess=urldecode($NewMess);
$gbook=ereg_replace("</upload>","<File id=\"2\" image=\"".$name_file."\"/></upload>",$gbook);
// On ecrit le nouveau guestbook
writeFile('image.xml',$gbook);
?>