1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
<?php
//upload.php
function replaceSpecialChar($texte){
$texte = str_replace(" "," ", $texte);
$texte = str_replace("\'", " ", $texte);
$texte = str_replace("é","e", $texte);
$texte = str_replace("è","e", $texte);
...
return $texte;
}
session_start();
$login = $_SESSION['login'];
$log = $_POST['log'];
if( isset($_POST['upload']) ) // si formulaire soumis
{
//On fixe le repertoire où sera placé le fichier
$content_dir = '/var/www/working_copies/monprojet/';
$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, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
{
exit("Le fichier n'est pas une image");
}*/
//On copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];
//On remplace les caractères speciaux par des entities, PARCEQUE SINON LES ACCENTS FONT TOUT FOIRER
$name_file = replaceSpecialChar($name_file);
$log = replaceSpecialChar($log);
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
//On modifie les droits d'accès au dossier et au repository
chmod("/var/www/working_copies/monprojet", 0777);
chmod("/var/www/repositories/monprojet", 0777);
//On met le fichier sous le régime de controle de version via la commande add de svn
$script_add = "svn add";
$com_add = "$script_add /var/www/working_copies/monprojet/$name_file";
shell_exec($com_add);
//On fait un commit pour faire créer une nouvelle révision en passant le login en argument de --username
$script_commit = "svn --username $login commit -m '$log'";
$com_commit = "$script_commit /var/www/working_copies/monprojet";
shell_exec($com_commit);
//on remet les droit (755)
chmod("/var/www/working_copies/monprojet", 0755);
chmod("/var/www/repositories/monprojet", 0755);
//Redirection
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://127.0.0.1/");
exit();
}
?> |
Partager