HTML ile uygulama çalıştırmak mümkün mü?

Üzgün Kurt

Hectopat
Katılım
17 Şubat 2021
Mesajlar
134
Daha fazla  
Cinsiyet
Erkek
Öncelikle aklımdaki sistem giriş yapılınca butona tıklayıp program çalıştırmak. Bu sistemin giriş formunu falan tamamladım açma kısmı kaldı. Çok uğraştırıcı bir şey değil aklımdaki ama araştırıyorum yine bulamıyorum. Şimdi giriş olunca 1 buton var. İstediğim butonda FTP adresimin içindeki TXT dosyasının değişmesi, örnegin test. TXT'nin içi boş butona tıklayınca evet olacak, 30 saniye sonra tekrar kapanacak hayır olacak. Bilgisayarda nasıl uygulama çalışacak diye soracaksınız o da C# ile kısaca FTP hesabımı bağlayıp "form load a if" ekleyip "if (ftp-------.txt =="evet")" olursa kısaca process. Start. Örneğin Google C#'ı ben yapabilirim ama HTML ile nasıl FTP'mdeki TXT dosyasının içini butona tıklayınca evet yapıp 30 saniye sonra hayır yapabilirim onu anlamadım. Yardımcı olursanız sevinirim. İngilizce de yazdım sonuç bulamadım.
 
Son düzenleyen: Moderatör:
Merhaba! Anladığım kadarıyla, HTML ile FTP hesabınıza bağlanmak ve belirli bir TXT dosyasının içeriğini değiştirmek istiyorsunuz. Ancak HTML, FTP protokolünü doğrudan desteklemez, bu nedenle bu işlemi gerçekleştirmek için JavaScript veya C# gibi bir programlama dili kullanmanız gerekebilir.

İlk olarak, JavaScript kullanarak FTP hesabınıza bağlanmak ve TXT dosyasının içeriğini değiştirmek için, FTP isteklerini yönetmek için bir kütüphane kullanmanız gerekebilir. Örneğin, "jsftp" veya "ftp" kütüphanelerini kullanabilirsiniz. Bunları indirip, JavaScript kodunuzu yazabilirsiniz. Örneğin, aşağıdaki kod TXT dosyasının içeriğini "evet" olarak değiştirir:

JavaScript:
var JSFtp = require("jsftp");
var ftp = new JSFtp({
  host: "ftp.example.com",
  user: "username",
  pass: "password"
});

ftp.put("evet", "/remote/path/test.txt", function(hadError) {
  if (!hadError) {
    console.log("TXT dosyası değiştirildi.");
  }
});

Bu kodu bir JavaScript dosyasına kaydedebilir ve HTML sayfanıza "script" etiketiyle bağlantı verebilirsiniz. Butona tıklandığında, JavaScript kodunuz çalışacak ve TXT dosyasının içeriğini değiştirecektir.

Ancak, bir uyarıda bulunmak gerekirse, FTP şifrelerinin ve kimlik bilgilerinin JavaScript kodunda saklanması güvenlik riski oluşturabilir. Bu nedenle, bu bilgileri kullanıcılardan almak ve sunucu tarafında işlemek daha güvenlidir.

C# kullanarak aynı işlemi gerçekleştirmek isterseniz, FTP bağlantısı kurmak ve TXT dosyasını değiştirmek için "System.Net" ve "System.IO" adlı C# kütüphanelerini kullanabilirsiniz. Örneğin, aşağıdaki kod TXT dosyasının içeriğini "evet" olarak değiştirir:

C#:
using System;
using System.IO;
using System.Net;

public static void ChangeFileContent()
{
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://ftp.example.com/remote/path/test.txt");
    request.Method = WebRequestMethods.Ftp.UploadFile;
    request.Credentials = new NetworkCredential("username", "password");

    using (Stream fileStream = File.OpenRead(@"C:\local\path\evet.txt"))
    using (Stream ftpStream = request.GetRequestStream())
    {
        fileStream.CopyTo(ftpStream);
    }

    Console.WriteLine("TXT dosyası değiştirildi.");
}

Bu kodu bir C# dosyasına kaydedebilir ve form yüklenirken çağrılacak olan "Form_Load" işlevine yerleştirebilirsiniz. Butona tıklandığında, "ChangeFileContent" işlevi çağrılacak ve TXT dosyasının içeriği değiştirilecektir.
 
Son düzenleme:
Anladım, o zaman örneğin aşağıdaki JavaScript kodunu kullanarak FTP hesabınızda belirli bir TXT dosyasının içeriğini kontrol edebilirsiniz:
JavaScript:
var JSFtp = require("jsftp");
var ftp = new JSFtp({
  host: "ftp.example.com",
  user: "username",
  pass: "password"
});

ftp.get("/remote/path/test.txt", function(err, socket) {
  if (err) {
    console.error(err);
  }
  else {
    var chunks = [];

    socket.on("data", function(d) {
      chunks.push(d);
    });

    socket.on("close", function(hadErr) {
      if (hadErr) {
        console.error("Dosya indirilirken hata oluştu.");
      }
      else {
        var fileContent = Buffer.concat(chunks).toString();
        if (fileContent.trim() === "evet") {
          console.log("TXT dosyası 'evet' olarak ayarlanmış.");
        }
        else {
          console.log("TXT dosyası 'hayır' olarak ayarlanmış.");
        }
      }
    });
    socket.resume();
  }
});

Bu kod, "jsftp" kütüphanesi aracılığıyla FTP hesabınıza bağlanır, belirli bir TXT dosyasını indirir ve içeriğini kontrol eder. Eğer dosyanın içeriği "evet" ise, "TXT dosyası 'evet' olarak ayarlanmış." mesajını görüntüler. Aksi takdirde, "TXT dosyası 'hayır' olarak ayarlanmış." mesajını görüntüler.

Benzer şekilde, C# kullanarak aynı işlemi gerçekleştirmek isterseniz, aşağıdaki örnek kodu kullanabilirsiniz:

C#:
using System;
using System.IO;
using System.Net;

public static void CheckFileContent()
{
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://ftp.example.com/remote/path/test.txt");
    request.Method = WebRequestMethods.Ftp.DownloadFile;
    request.Credentials = new NetworkCredential("username", "password");

    using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
    using (Stream stream = response.GetResponseStream())
    using (StreamReader reader = new StreamReader(stream))
    {
        string fileContent = reader.ReadToEnd();
        if (fileContent.Trim() == "evet")
        {
            Console.WriteLine("TXT dosyası 'evet' olarak ayarlanmış.");
        }
        else
        {
            Console.WriteLine("TXT dosyası 'hayır' olarak ayarlanmış.");
        }
    }
}

Bu kod, belirli bir FTP hesabındaki TXT dosyasını indirir ve içeriğini kontrol eder. Eğer dosyanın içeriği "evet" ise, "TXT dosyası 'evet' olarak ayarlanmış." mesajını görüntüler. Aksi takdirde, "TXT dosyası 'hayır' olarak ayarlanmış." mesajını görüntüler.

Bu örnekler size yardımcı olacaktır, ancak FTP sunucunuza bağlanmadan önce bağlantı ayarlarınızı doğru şekilde yapılandırdığınızdan emin olmanız gerektiğini unutmayın.
 
@Ancestor Türk peki JavaScript ile 30 saniye sonra txt’nin içini tekrar hayır yapabilme ihtimali var mı? Sürekli evet olursa yazıcağım program sürekli açılır.
 
Son düzenleyen: Moderatör:
Evet, JavaScript ile belirli bir süre sonra TXT dosyasının içeriğini değiştirmeniz mümkündür. Bunun için örneğin aşağıdaki kodu kullanabilirsiniz:
JavaScript:
var JSFtp = require("jsftp");
var ftp = new JSFtp({
  host: "ftp.example.com",
  user: "username",
  pass: "password"
});

var filePath = "/remote/path/test.txt";
var evet = "evet";
var hayir = "hayir";
var zamanlayici = null;

function degistir(yeniIcerik) {
  ftp.put(new Buffer(yeniIcerik), filePath, function(err) {
    if (err) {
      console.error(err);
    }
    else {
      console.log("TXT dosyasının içeriği değiştirildi: " + yeniIcerik);
    }
  });
}

function kontrolEt() {
  ftp.get(filePath, function(err, socket) {
    if (err) {
      console.error(err);
    }
    else {
      var chunks = [];

      socket.on("data", function(d) {
        chunks.push(d);
      });

      socket.on("close", function(hadErr) {
        if (hadErr) {
          console.error("Dosya indirilirken hata oluştu.");
        }
        else {
          var fileContent = Buffer.concat(chunks).toString();
          if (fileContent.trim() === evet) {
            degistir(hayir);
          }
          else {
            degistir(evet);
          }
        }
      });
      socket.resume();
    }
  });
}

zamanlayici = setInterval(kontrolEt, 30000); // 30 saniyede bir kontrol et

Bu kod, belirli bir FTP hesabındaki belirli bir TXT dosyasının içeriğini belirli bir süre sonra değiştirir. "jsftp" kütüphanesi aracılığıyla FTP hesabına bağlanır, belirli bir TXT dosyasının içeriğini kontrol eder, "evet" ise "hayir" yapar ve "hayir" ise "evet" yapar. Bunun için bir zamanlayıcı kullanır ve belirli aralıklarla kontrol etme işlemini gerçekleştirir.

Ayrıca, bu örnekte de olduğu gibi, belirli bir TXT dosyasının içeriğini sürekli olarak değiştirme işlemi, sürekli olarak çalıştığınız bir programda yer alıyor ise, programınızın açık kalmaya devam etmesi gerektiğinden emin olmalısınız. Eğer programınızın arka planda çalışmasını sağlamak istiyorsanız, örneğin "Node.js" gibi bir platform kullanarak programınızı arka planda çalıştırabilirsiniz.
 
@Pigeon Lord ben şimdi kodu siteme eklersem butona basınca FTP'deki test.txt’nin içi evet olup 30 saniye sonra hayır olur mu? Pek anlamıyorum da JavaScript’ten.
 
Son düzenleyen: Moderatör:
Evet, bu JavaScript kodunu web sitenize ekleyerek, kullanıcılarınızın butona tıkladığında FTP'deki test.txt dosyasının içeriğinin değişmesini sağlayabilirsiniz. Ancak bu kod, sadece sunucu tarafında çalışacak ve kullanıcıların web sayfasında bu değişikliği görmelerini sağlamayacaktır. Eğer kullanıcıların web sayfasında da bu değişikliği görmelerini istiyorsanız, örneğin JavaScript ile belirli aralıklarla FTP'deki test.txt dosyasının içeriğini kontrol edebilirsiniz ve kullanıcılara bu değişikliği gösteren bir mesaj veya bildirim gösterebilirsiniz.

Bu işlem için aşağıdaki örneği kullanabilirsiniz:
JavaScript:
var evet = "evet";
var hayir = "hayir";
var zamanlayici = null;

function degistir(yeniIcerik) {
  var xhr = new XMLHttpRequest();
  xhr.open("POST", "degistir.php", true);
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xhr.send("yeniIcerik=" + yeniIcerik);
}

function kontrolEt() {
  var xhr = new XMLHttpRequest();
  xhr.onreadystatechange = function() {
    if (xhr.readyState == XMLHttpRequest.DONE) {
      if (xhr.status == 200) {
        var fileContent = xhr.responseText;
        if (fileContent.trim() === evet) {
          // "evet" ise "hayir" yap
          degistir(hayir);
          alert("TXT dosyasının içeriği 'evet' olarak değiştirildi!");
        } else {
          // "hayir" ise "evet" yap
          degistir(evet);
          alert("TXT dosyasının içeriği 'hayir' olarak değiştirildi!");
        }
      } else {
        console.error(xhr.statusText);
      }
    }
  };
  xhr.open("GET", "oku.php", true);
  xhr.send();
}

zamanlayici = setInterval(kontrolEt, 30000); // 30 saniyede bir kontrol et

Bu kod, belirli aralıklarla FTP hesabındaki test.txt dosyasının içeriğini kontrol eder. Dosya içeriği "evet" ise "hayir" yapar ve kullanıcıya bir bildirim gösterir. Dosya içeriği "hayir" ise "evet" yapar ve yine kullanıcıya bir bildirim gösterir.

Ancak, bu kodu doğrudan web sitenize eklemeniz önerilmez. Bunun yerine, bu işlemi sunucu tarafında yapmanız ve web sitenizde sadece bir arayüz sunmanız daha güvenli olacaktır. Örneğin, PHP veya diğer sunucu taraflı programlama dilleri kullanarak FTP'deki dosyaları kontrol edebilirsiniz ve web sitenizde bu değişiklikleri gösteren bir arayüz sağlayabilirsiniz.
 
@Pigeon Lord peki ben bu JS'yi open.js diye kaydettim, nasıl HTML’de butona basınca script OpenJS script kullanabilirim? Denedim ama.
 
Son düzenleyen: Moderatör:
ftp://epiz_33xxxxxxxxx@zzzzzxxxxxx/htdocs/atak.txt dosyam burada. Bir sorun olur mu?
 
Son düzenleyen: Moderatör:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…