Mit VB eine bestimme Line in PHP löschen

  • PHP

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Link.

    Mit VB eine bestimme Line in PHP löschen

    Hey :D

    Ich hoffe ihr könnt es halbwegs verstehen und mir helfen :)

    Also,
    Ich sitze zurzeit an einem VB.NET Projekt wo ich folgende dinge enthalten habe:

    - 1x Webbrowser
    - 1x Button
    - 1x Textbox

    Nun möchte ich es so machen das wenn ich in der Textbox als Text z.B. 5 stehe habe und dann auf den Button klicke das dann der Webbrowser auf meinen Webspace navigiert auf eine PHP Datei und die php datei dann aus einer .txt datei die 5 linie löscht so wie es in der Textbox steht.

    Nur weiß ich nicht wie ich die PHP datei schreibe. Hoffe ihr könnt mir da etwas helfen :)

    *Topic verschoben, da offenbar PHP-Frage*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Dein Problem hört sich, für mich, so an:
    Ich habe ein Dach das undicht ist. Jetzt weiß ich nicht, wie ich es schaffe, dass es nicht mehr rein regnet. Nur weiß ich nicht wie ich ein neues Haus baue. :)

    Hast du Probleme bei:
    A: eine Zeile in einer Textdatei (die PHP enthält) zu löschen, welche sich auf einem Webserver befindet.
    B: oder geht es darum PHP in eine Textdatei zu schreiben
    C: Sowohl A, also auch B und C sowieso
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Hi,

    sagen wir du hast am Server 2 Dateien:

    - actions.php (Die Datei wird von deinem VB-Programm aufgerufen - per GET wird die gewünschte zu löschende Zeile als line Argument an die URL übergeben)
    - some-file.php (Die PHP Datei aus der die angegebene Zeile entfernt werden soll)

    Dann kannst du es ganz easy folgendermaßen machen:

    Inhalt der some-file.php

    PHP-Quellcode

    1. <?php
    2. # Test Zeile 3
    3. # Test Zeile 4
    4. # Test Zeile 5
    5. # Test Zeile 6
    6. # Test Zeile 7
    7. # Test Zeile 8
    8. # Test Zeile 9
    9. ?>


    Inhalt der actions.php

    PHP-Quellcode

    1. <?php
    2. header('Content-Type: application/json');
    3. $target = "./some-file.php";
    4. # Checken ob "line" im GET-Request übergeben wurde ...
    5. if (isset($_GET['line'])) {
    6. # ... und ob es ein numerischer Wert ist
    7. if (is_numeric($_GET['line'])) {
    8. $line = intval($_GET['line']);
    9. try {
    10. # Die Ziel-PHP-Datei auslesen ...
    11. if (($content = file_get_contents($target)) !== false) {
    12. # ... und Inhalt in Array splitten (bei Zeilenumbruch)
    13. $Lines = explode(PHP_EOL, $content);
    14. # Checken ob es die angefragte Zeile überhaupt gibt
    15. if (array_key_exists(($line - 1), $Lines)) {
    16. # Eintrag aus dem Array löschen
    17. unset($Lines[($line - 1)]);
    18. # Datei neu schreiben
    19. if (file_put_contents($target, implode(PHP_EOL, $Lines)) !== false) {
    20. # Alles hat perfekt geklappt
    21. echo json_encode(['success' => "Aktion erfolgreich durchgeführt"], JSON_FORCE_OBJECT);
    22. } else {
    23. throw new \Exception("Datei " . $target . " kann nicht geschrieben werden!");
    24. }
    25. } else {
    26. throw new \Exception("Es gibt in " . $target . " keine Zeile Nr. " . $line . " (nur von 1-" . count($Lines) . ")!");
    27. }
    28. } else {
    29. throw new \Exception("Datei " . $target . " kann nicht gelesen werden!");
    30. }
    31. } catch (\Exception $e) {
    32. # Gebe Fehler als JSON zurück
    33. echo json_encode(['error' => $e->getMessage()], JSON_FORCE_OBJECT);
    34. }
    35. }
    36. }
    37. ?>


    Das Beispiel ist getestet und funktioniert.
    In VB musst du eigentlich nur noch einen simplem URL-Request mit dem line-Argument ausführen, also www.dein-server.de/actions.php?line=5.
    Du kannst dir den Code auch runterladen.

    Link :thumbup:
    Hello World

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Link“ ()