IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Renome/chgt/supp/CHMOD impossible sur acces distant


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Par défaut Renome/chgt/supp/CHMOD impossible sur acces distant
    Salut


    Soucis : je n'arrive pas à changer ou supprimer les fichiers en accès distant ftp dans l'un des mes dossiers sur certains fichiers.

    Je suis chez OVH en mutualisé. Je récupère des fichiers à partir de php, et je pense que le nom du fichier envoyé a une incidence, puisque j'ai accédé à d'autres fichiers dans le même dossier sans soucis.

    Les fichiers en question sont écrit avec le caractère spécial apostrophe ' (le fichier s'appelle souvent: jour de l'an ), et j epense que c'est ça qui coince

    Du coup impossible de changer le , de le transferer ou de le supprimer. J ai essayé aussi sur PUTTY mais je ne dois pas savoir l'utiliser, puisque le dossier est indiqué comme inexistant. Impossible aussi à partir de la gestion ftp direct OVH.

    Qui a une idée pour pouvoir agir sur ce fichier..?

    Autre chose, ce qui serait bien , c'est de ré écrire ces noms envoyés par le client et contenant les caracteres spéciaux. Comment je dois procéder..? j'ai quelques regles ecrites dans un fichier htaccess, mais je ne sais pas l'appliquer sur ces lignes là...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    if(!empty($_FILES["fichier9"]["name"]))
    {
    	//nom du fichier choisi:
    	$timeline = time();
    	$nomFichier    = $timeline . "-" . $_FILES["fichier9"]["name"]["prenom"] ;
    	//nom temporaire sur le serveur:
    	$nomTemporaire = $_FILES["fichier9"]["tmp_name"] ;
    	//type du fichier choisi:
    	$typeFichier   = $_FILES["fichier9"]["type"] ;
    	//poids en octets du fichier choisit:
    	$poidsFichier  = $_FILES["fichier9"]["size"] ;
    	//code de l'erreur si jamais il y en a une:
    	$codeErreur    = $_FILES["fichier9"]["error"] ;
     
    	//chemin qui mène au dossier qui va contenir les fichiers uplaod:
    	$chemin = "recuperation_fichiers/" ;
     
     
    	if(move_uploaded_file($nomTemporaire, $chemin.$nomFichier))
    		echo("") ;

    Merci :-)

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,

    Putty -> OVH mutualisé = normal que tu n'as pas accès, c'est pas toi qui gère, faut un dédié pour ça.
    Chez ovh, tu es sur un serveur Linux, donc les noms de fichiers ne peuvent avoir d'espace,accent,apostrophe, d'ailleurs aucun système ne devrait les accepter.
    Fait des recherche sur str_replace() pour voir comment renommer ton fichier.

    Tu peux aussi générer un nom de fichier aléatoire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(move_uploaded_file($nomTemporaire, $chemin.'jourdelan.docx'))

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Par défaut
    ok MaitrePylos, merci :-) je vais essayer ça. Mais je suis trop mauvais pour syntaxer , je vais essayer de trouver quelqu'un qui me ferait ça contre remuneration ;-)

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Ben tu pourrais faire ça par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
       public static function stripAccents($string)
        {
            $_remplace = [
                'à' => 'a',
                'á' => 'a',
                'â' => 'a',
                'ã' => 'a',
                'ä' => 'a',
                'å' => 'a',
                'ò' => 'o',
                'ó' => 'o',
                'ô' => 'o',
                'õ' => 'o',
                'ö' => 'o',
                'è' => 'e',
                'é' => 'e',
                'ê' => 'e',
                'ë' => 'e',
                'ì' => 'i',
                'í' => 'i',
                'î' => 'i',
                'ï' => 'i',
                'ù' => 'u',
                'ú' => 'u',
                'û' => 'u',
                'ü' => 'u',
                'ÿ' => 'y',
                'ñ' => 'n',
                'ç' => 'c',
                'ø' => '0',
                '\''=> '',
                '-' => ''
            ];
            return strtr((string)$string, $_remplace);
        }
     
        /**
         * Suppresion des espace blanc.
         * @param $string
         * @return mixed
         */
        public static function stripWhiteSpace($string){
     
            $str = preg_replace('/\s+/', '', $string);
            return $str;
        }
     
    $nom =  stripAccents($_FILES["fichier9"]["name"]);
    $nom = stripWhiteSpace($_FILES["fichier9"]["name"]);

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Par défaut
    ....j'ai une error de syntaxe que je ne vois pas...
    Parse error: syntax error, unexpected T_PUBLIC in /home/youresto/www/recupNoel_gratuit.php on line 92
    La ligne 92 est la ligne qui annonce public static function...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
    {
    public static function stripAccents($string)
        {
            $_remplace = [
                'à' => 'a',
                'á' => 'a',
                'â' => 'a',
                'ã' => 'a',
                'ä' => 'a',
                'å' => 'a',
                'ò' => 'o',
                'ó' => 'o',
                'ô' => 'o',
                'õ' => 'o',
                'ö' => 'o',
                'è' => 'e',
                'é' => 'e',
                'ê' => 'e',
                'ë' => 'e',
                'ì' => 'i',
                'í' => 'i',
                'î' => 'i',
                'ï' => 'i',
                'ù' => 'u',
                'ú' => 'u',
                'û' => 'u',
                'ü' => 'u',
                'ÿ' => 'y',
                'ñ' => 'n',
                'ç' => 'c',
                'ø' => '0',
                '\''=> '',
                '-' => ''
            ];
            return strtr((string)$string, $_remplace);
        }
     
        /**
         * Suppresion des espace blanc.
         * @param $string
         * @return mixed
         */
     
        public static function stripWhiteSpace($string){
            $str = preg_replace('/\s+/', '', $string);
            return $str;
        }
     }
    $menu =  stripAccents($_FILES["fichier9"]["name"]);
    $menu = stripWhiteSpace($_FILES["fichier9"]["name"]);
    // récuperation des variables provenant du formulaire
    $prenom = $_POST['prenom'];
    $nom = $_POST['nom'];
    $adresse = $_POST['adresse'];
    $CP = $_POST['CP'];
    $ville = $_POST['ville'];
    $tel= $_POST['tel'];
    $email = $_POST['email'];
    $horaire = $_POST['horaire'];
     
     /**
    $_FILES['fichier9']['name'];     //Le nom original du fichier, comme sur le disque du visiteur, (exemple: mon_icone.png).
    $_FILES['fichier9']['type'];     //Le type du fichier. Par exemple, cela peut être "image/png"
    $_FILES['fichier9']['size'] ;    //La taille du fichier en octets
    $_FILES['fichier9']['tmp_name'];
    */
    $axept = $_POST['axept'];
    ?>

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Oui mon code était à adapter, je l'ai pris d'une classe, voila j'ai fait les modifs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?php
     
    public function stripAccents($string)
        {
            $_remplace = [
                'à' => 'a',
                'á' => 'a',
                'â' => 'a',
                'ã' => 'a',
                'ä' => 'a',
                'å' => 'a',
                'ò' => 'o',
                'ó' => 'o',
                'ô' => 'o',
                'õ' => 'o',
                'ö' => 'o',
                'è' => 'e',
                'é' => 'e',
                'ê' => 'e',
                'ë' => 'e',
                'ì' => 'i',
                'í' => 'i',
                'î' => 'i',
                'ï' => 'i',
                'ù' => 'u',
                'ú' => 'u',
                'û' => 'u',
                'ü' => 'u',
                'ÿ' => 'y',
                'ñ' => 'n',
                'ç' => 'c',
                'ø' => '0',
                '\''=> '',
                '-' => ''
            ];
            return strtr((string)$string, $_remplace);
        }
     
        /**
         * Suppresion des espace blanc.
         * @param $string
         * @return mixed
         */
     
        public static function stripWhiteSpace($string){
            $str = preg_replace('/\s+/', '', $string);
            return $str;
        }
     }
    $menu =  stripAccents($_FILES["fichier9"]["name"]);
    $menu = stripWhiteSpace($_FILES["fichier9"]["name"]);
    // récuperation des variables provenant du formulaire
    $prenom = $_POST['prenom'];
    $nom = $_POST['nom'];
    $adresse = $_POST['adresse'];
    $CP = $_POST['CP'];
    $ville = $_POST['ville'];
    $tel= $_POST['tel'];
    $email = $_POST['email'];
    $horaire = $_POST['horaire'];
     
     /**
    $_FILES['fichier9']['name'];     //Le nom original du fichier, comme sur le disque du visiteur, (exemple: mon_icone.png).
    $_FILES['fichier9']['type'];     //Le type du fichier. Par exemple, cela peut être "image/png"
    $_FILES['fichier9']['size'] ;    //La taille du fichier en octets
    $_FILES['fichier9']['tmp_name'];
    */
    $axept = $_POST['axept'];
    ?>

Discussions similaires

  1. [HF17] demande des documents sur accé distant a hfsql
    Par naceur55 dans le forum HyperFileSQL
    Réponses: 1
    Dernier message: 07/11/2014, 12h42
  2. Accès distant impossible après mise à jour de MySQL sur Debian
    Par Darkroxor dans le forum Administration
    Réponses: 6
    Dernier message: 14/10/2012, 19h09
  3. File.copy impossible sur pc distant
    Par bobjoumi dans le forum C#
    Réponses: 5
    Dernier message: 17/02/2009, 08h03
  4. [WIFI]comment proteger l'accés distant sur un modem neufBox
    Par Sniper37 dans le forum Dépannage et Assistance
    Réponses: 3
    Dernier message: 20/01/2006, 10h16
  5. [Sybase] Accès Table sur serveur distant
    Par MashiMaro dans le forum Sybase
    Réponses: 5
    Dernier message: 11/02/2004, 15h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo