Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] csv Datei erstellen und abspeicher

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] csv Datei erstellen und abspeicher

    Hallo php Freunde,
    brauche mal wieder etwas Untertützung.
    Mein Problem.
    Ich erzeuge eine csv Datei. Was auch funktioniert.
    Jetzt möchte ich aber diese CSV Datei in ein bestimmtes Verzeichniss direkt unter c: abspeichern. Da habe ich jetzt keine Idee. Kann mir jemand helfen.
    Vielen Dank Heinrich

    PHP-Code:
    <?php
    $DatabaseHost 
    "";
    $DatabaseUser "";
    $DatabasePassword '';
    $Database "";
    $Table '';

    header('Content-Type: text/x-csv');
    header('Expires: ' gmdate('D, d M Y H:i:s') . ' GMT');
    header('Content-Disposition: attachment; filename=name.csv');
    header('Pragma: no-cache');

    $DatabasePointer mysql_connect($DatabaseHost$DatabaseUser$DatabasePassword);
    if (!
    $DatabasePointer) {
            die (
    'keine Verbindung möglich: 'mysql_error());
            }

    @
    mysql_select_db($Database$DatabasePointer)or die("Konnte \$db\ nicht oeffnen" .mysql_error() );

    $ResultPointer mysql_query ("SELECT ID,Vorname,Nachname,Strasse,PLZ,Ort,Telefon,Email FROM $Table");


    for(
    $i 0$Export ""$i mysql_num_rows($ResultPointer); $i++)
    {
        
    $Daten mysql_fetch_object($ResultPointer);

        
    $Spalte[] = str_replace("\"""\"\""$Daten->ID);
        
    $Spalte[] = str_replace("\"""\"\""$Daten->Vorname);
        
    $Spalte[] = str_replace("\"""\"\""$Daten->Nachname);
        
    $Spalte[] = str_replace("\"""\"\""$Daten->Strasse);
        
    $Spalte[] = str_replace("\"""\"\""$Daten->PLZ);
        
    $Spalte[] = str_replace("\"""\"\""$Daten->Ort);
        
    $Spalte[] = str_replace("\"""\"\""$Daten->Telefon);
        
    $Spalte[] = str_replace("\"""\"\""$Daten->Email);
        

    //var_dump($Spalte);

        
    for($j 0$j count($Spalte); $j++)
        {
            
    $Export .= "\"" $Spalte[$j] . "\"";

            if(
    $j != count($Spalte)-1)
            {
                
    $Export .= ";";
            }
        }
        
    $Export .= "\r\n";
        
    $Spalte "";
    }
    echo
    $Export;
    ?>


  • #2
    http://www.php.net/manual/de/functio...t-contents.php ?
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      Darf ich fragen warum du nicht direkt die CSV in dem von dir gewünschten Pfad speicherst?

      @edit: Also warum du dich direkt für diesen Weg entschieden hast?
      Die Jatravartiden auf Viltwodl VI können den Kram von dir auch nicht nachvollziehen

      Kommentar


      • #4
        Zugriff heißt das Zauberwort. Kommt drauf an, welches Modul aktiviert ist, und welche Restriktionen der Host gesetzt hat (openbasedir,...).

        Kommentar


        • #5
          Zitat von Moewe Beitrag anzeigen
          Darf ich fragen warum du nicht direkt die CSV in dem von dir gewünschten Pfad speicherst?
          Konkret ist was gemeint? per SQL SELECT * INTO OUTFILE oder fputcsv ?
          PHP-Klassen auf github

          Kommentar


          • #6
            Zitat von jspit Beitrag anzeigen
            Konkret ist was gemeint? per SQL SELECT * INTO OUTFILE oder fputcsv ?
            Beispielsweise fputcsv, das andere sorgt ja dafür, dass der Client die CSV direkt öffnen kann. In dem Falle könnte er die Datei doch auch manuell dort ablegen wo er will.
            Oder sehe ich das falsch?
            Die Jatravartiden auf Viltwodl VI können den Kram von dir auch nicht nachvollziehen

            Kommentar


            • #7
              Nö, mit dieser SQL-Anweisung wird die Datei serverseitig abgelegt. Die Datenbank muss dafür auf dem selben Server sein. Für alles weitere, z.B. ein Download, muss dann selbst gesorgt werden.
              PHP-Klassen auf github

              Kommentar


              • #8
                Hallo bin noch immer auf dem Holzweg.
                Habe aber etwas gefunden.
                Weis aber nicht genau wie ich diesen script plazieren soll.
                Muß ich dann den header im ersten script löschen.
                PHP-Code:
                $speicherort "Pfad_und_Datei_wo_gespeichert_werden_soll.csv ";
                $fp fopen("$speicherort""w+");
                fwrite($fp"$Export");
                fclose($fp); 
                Gruß Heinrich

                Kommentar


                • #9
                  Hallo, habe jetzt folgende Lösung.
                  Die Datei name csv wird mit diesem script in das Hauptverzeichniss des Servers abgelegt. Ich möchte diese Datei aber auf meinem Windows Rechner in ein Verzeichniss geschrieben haben.
                  Ich brauche Hilfe. Danke.
                  Gruß Heinrich

                  PHP-Code:
                  <?php
                  $DatabaseHost 
                  "";
                  $DatabaseUser "";
                  $DatabasePassword '';
                  $Database "";
                  $Table '';

                  //header('Content-Type: text/x-csv');
                  //header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
                  //header('Content-Disposition: attachment; filename=name.csv');
                  //header('Pragma: no-cache');

                  $DatabasePointer mysql_connect($DatabaseHost$DatabaseUser$DatabasePassword);
                  if (!
                  $DatabasePointer) {
                          die (
                  'keine Verbindung möglich: 'mysql_error());
                          }

                  @
                  mysql_select_db($Database$DatabasePointer)or die("Konnte \$db\ nicht oeffnen" .mysql_error() );

                  $ResultPointer mysql_query ("SELECT ID,Vorname,Nachname,Strasse,PLZ,Ort,Telefon,Email FROM $Table");


                  for(
                  $i 0$Export ""$i mysql_num_rows($ResultPointer); $i++)
                  {
                      
                  $Daten mysql_fetch_object($ResultPointer);

                      
                  $Spalte[] = str_replace("\"""\"\""$Daten->ID);
                      
                  $Spalte[] = str_replace("\"""\"\""$Daten->Vorname);
                      
                  $Spalte[] = str_replace("\"""\"\""$Daten->Nachname);
                      
                  $Spalte[] = str_replace("\"""\"\""$Daten->Strasse);
                      
                  $Spalte[] = str_replace("\"""\"\""$Daten->PLZ);
                      
                  $Spalte[] = str_replace("\"""\"\""$Daten->Ort);
                      
                  $Spalte[] = str_replace("\"""\"\""$Daten->Telefon);
                      
                  $Spalte[] = str_replace("\"""\"\""$Daten->Email);
                      

                  //var_dump($Spalte);

                      
                  for($j 0$j count($Spalte); $j++)
                      {
                          
                  $Export .= "\"" $Spalte[$j] . "\"";

                          if(
                  $j != count($Spalte)-1)
                          {
                              
                  $Export .= ";";
                          }
                      }
                      
                  $Export .= "\r\n";
                      
                  $Spalte "";
                  }

                  $fp fopen("c:\\xyz\\xyz\\name.csv""w+");

                  fwrite($fp"$Export");
                  fclose($fp);
                  echo
                  $Export;
                  ?>

                  Kommentar


                  • #10
                    Hallo liebe PHP Freunde,
                    komme nicht weiter brauche dringend Hilfe.
                    Was mache ich falsch.
                    Gruß Heinrich

                    Kommentar


                    • #11
                      Zitat von Heinrich Beitrag anzeigen
                      Die Datei name csv wird mit diesem script in das Hauptverzeichniss des Servers abgelegt. Ich möchte diese Datei aber auf meinem Windows Rechner in ein Verzeichniss geschrieben haben.
                      Du möchtest die Datei in ein Verzeichnis des Clients schreiben? Geht nicht.
                      Du kannst die Datei aber zum Download anbieten.
                      PHP-Klassen auf github

                      Kommentar


                      • #12
                        Ich glaub ja sein server hat den pfad: c:\\xyz\\xyz\\name.csv
                        @TE: bitte präzisieren.

                        Kommentar


                        • #13
                          Hallo,
                          ich möchte die erzeugte csv datei auf meinem Windows Rechner in ein Verzeichniss meiner Wahl abspeichern.
                          In dem am Anfang stehenden Script, wir die erzeugte csv datei Datei unter download abgespeichert.
                          Wie gesagt möchte ich diese csv datei zum Beispiel unter c:/onlineinput/datei.csv
                          Gruß Heinrich

                          Kommentar


                          • #14
                            Das geht nicht. DU kannst mit keiner Skriptsprache auf ein Verzeichnis direkt zugreifen. Das wäre ausserdem fatal. Was wäre ausserdem, wenn der Client gar keinen Windows-Rechner mit alphabetisch durchnummerierten Laufwerken hätte?

                            Kommentar


                            • #15
                              Hallo,
                              vielleicht werde ich falsch verstanden oder drücke mich falsch aus.
                              In meiner Mysql Datenbank werden die eingegebenen Daten ( Affenformular) abgespeichert.
                              Jetzt möchte ich die Datensätze in eine csv-datei umwandeln und auf meinen Client in ein Verzeichnis abspeichern.
                              Das funktioniert auch mit dem dargestellten Script. Die erzeugte csv-datei wird unter Downloads auf meinem Client abgespeichert.
                              Ich möchte aber die csv-Datei in ein Verzeichnis meiner Wahl abspeichern.
                              Dafür brauche ich Hilfe.
                              Gruß Heinrich
                              PHP-Code:
                              <?php

                              $DatabaseHost 
                              "";
                              $DatabaseUser "";
                              $DatabasePassword '';
                              $Database "";
                              $Table '';

                              header('Content-Type: text/x-csv');
                              header('Expires: ' gmdate('D, d M Y H:i:s') . ' GMT');
                              header('Content-Disposition: attachment; filename=tickets.csv');
                              header('Pragma: no-cache');

                              $DatabasePointer mysql_connect($DatabaseHost$DatabaseUser$DatabasePassword);
                              if (!
                              $DatabasePointer) {
                                      die (
                              'keine Verbindung möglich: 'mysql_error());
                                      }

                              @
                              mysql_select_db($Database$DatabasePointer)or die("Konnte \$db\ nicht oeffnen" .mysql_error() );

                              $ResultPointer mysql_query ("SELECT Vorname,Nachname,Strasse,PLZ,Ort,Telefon,Email FROM $Table");

                              for(
                              $i 0$Export ""$i mysql_num_rows($ResultPointer); $i++)
                              {
                                  
                              $Daten mysql_fetch_object($ResultPointer);

                                  
                              $Spalte[] = str_replace("\"""\"\""$Daten->Vorname);
                                  
                              $Spalte[] = str_replace("\"""\"\""$Daten->Nachname);
                                  
                              $Spalte[] = str_replace("\"""\"\""$Daten->Strasse);
                                  
                              $Spalte[] = str_replace("\"""\"\""$Daten->PLZ);
                                  
                              $Spalte[] = str_replace("\"""\"\""$Daten->Ort);
                                  
                              $Spalte[] = str_replace("\"""\"\""$Daten->Telefon);
                                  
                              $Spalte[] = str_replace("\"""\"\""$Daten->Email);
                                  
                                  for(
                              $j 0$j count($Spalte); $j++)
                                  {
                                      
                              $Export .= "\"" $Spalte[$j] . "\"";

                                      if(
                              $j != count($Spalte)-1)
                                      {
                                          
                              $Export .= ";";
                                      }
                                  }
                                  
                              $Export .= "\r\n";
                                  
                              $Spalte "";
                              }
                              echo
                              $Export;
                              ?>

                              Kommentar

                              Lädt...
                              X