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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Exporter une table sql de mon hébergeur sur mon ordi avec un script php


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Apprenti perpétuel
    Inscrit en
    Novembre 2012
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Apprenti perpétuel

    Informations forums :
    Inscription : Novembre 2012
    Messages : 194
    Par défaut Exporter une table sql de mon hébergeur sur mon ordi avec un script php
    Bonjour,

    De temps en temps, je vais sur le phpMyAdmin de mon hébergeur et je clique sur "export" pour sauvegarder une table sur mon ordi. Jusque là, tout va bien, c'est facile.

    Seulement voilà, j'aimerai pouvoir faire la même chose tous les jours sans avoir besoin d'entrer à chaque fois chez mon hébergeur et faire plusieurs click pour arriver jusqu'au phpMyAdmin.
    J'aimerai donc faire un petit script sur la page "administrator.php" de mon site pour envoyer "matable.sql" directement sur mon ordi en cliquant simplement sur un bouton qui activera le script.
    Je suis allé voir sur Internet et je trouve des trucs du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $file = 'backups/mytable.sql';
    $result = mysql_query("SELECT * INTO OUTFILE '$file' FROM `##table##`");
    ou encore:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $file = 'backups/mytable.sql';
    system("mysqldump --opt -h ##databaseserver## -u ##username## -p ##password## ##database | gzip > ".$file;);
    Mais voilà, cela semble incomplet pour ce que je souhaite.

    Pourriez-vous m'aider à compléter ce script afin de réaliser l'opération décrite ci-dessus?
    Merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Cela veut dire quoi "semble incomplet" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre très actif
    Homme Profil pro
    Apprenti perpétuel
    Inscrit en
    Novembre 2012
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Apprenti perpétuel

    Informations forums :
    Inscription : Novembre 2012
    Messages : 194
    Par défaut
    Si je me contente d'insérer ça dans mon code php.
    Il ne se passe rien ou tout du moins, je ne vois rien.
    Et je n'ai aucune idée de l'endroit ou serait éventuellement stocké ce backup.

    Voilà pourquoi, je dis que cela me semble incomplet.
    J'ai l'impression d'avoir le G jusqu'à R (par exemple) sans avoir le A jusqu'à G ni le R jusqu'à Z.
    Je loupe un élément qui est peut-être évident pour vous mais que je n'imagine même pas.
    Et je suis donc un peu perdu.
    Pourriez-vous m'aider?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    J'ai l'impression d'avoir le G jusqu'à R (par exemple) sans avoir le A jusqu'à G ni le R jusqu'à Z.
    On fait du développement ou de la voyance ?

    Le fichier est enregistré la ou tu l'as demandé : backups/mytable.sql ... sur ton serveur évidemment.
    Tu peux ajouter un readfile() ensuite pour lire le fichier.

    Attention quand même a la sécurité dans toute ton histoire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre très actif
    Homme Profil pro
    Apprenti perpétuel
    Inscrit en
    Novembre 2012
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Apprenti perpétuel

    Informations forums :
    Inscription : Novembre 2012
    Messages : 194
    Par défaut
    Je préférerai rester dans le domaine du développement...

    Comme tu me l'as proposé, Sabotage, j'ai ajouté un readfile() dans mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (isset($_POST['TablesBackup'])) {$file = 'backups/mytable.sql';
      $MyBase = new mysqli(BaseHost, BaseUser, BasePass, BaseName);
      $Result = $MyBase->query("SELECT * INTO OUTFILE '$file' FROM `members`");
      header('Location :'.$file); readfile($file);}
    J'obtiens le message d'erreur suivant:
    Warning: readfile(backups/mytable.sql): failed to open stream: No such file or directory in C:\wamp\www\...

    Au secours...

    Citation Envoyé par sabotage Voir le message
    Attention quand même a la sécurité dans toute ton histoire.
    @ Sabotage, que veux tu dire exactement à propos de la sécurité...
    Pourrais-tu développer un peu plus? Car j'ai du mal à deviner...
    Il semble que je ne sois pas plus doué en voyance qu'en développement...

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pour le readfile() met le fichier complet.
    Enlève le header()

    Pour la sécurité, assure toi que tu es le seul a pouvoir accéder au fichier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [Débutant] Remplir une ComboBox à partir d'une table SQL (avis sur mon code)
    Par thomas1989 dans le forum C#
    Réponses: 3
    Dernier message: 07/10/2013, 12h38
  2. Réponses: 8
    Dernier message: 25/08/2011, 13h25
  3. Exporter une table SQL dans DB2 ?
    Par Chikh001 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/07/2007, 13h44
  4. lier une table Sql Server sur Access
    Par JerBi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/01/2006, 16h27
  5. Pooling sur une table SQL
    Par Jean-Jacques Engels dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/11/2004, 23h10

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