Loading:


Pobranie pliku z serwera ftp - AJAX PHP

Skrypt pobiera plik z serwera PHP



Napisz Artyku³

Listing


//index.html   #############################################

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Ajax</title>
<link href="ajaxcss.css" rel="stylesheet" type="text/css">
<script src="ajaxcore.js" type="text/javascript"></script>
<script src="ajax.js" type="text/javascript"></script>
</head>
<body>
<div id="mainDiv" class="mainDiv">

<div class="txtDesc"> Serwer: </div>
<div class="inpEl">
  <input type="text" value="" style="width:100%"
         id="tfSerwer" class="myTextInput">
</div>

<div class="txtDesc"> Plik: </div>
<div class="inpEl">
  <input type="text" value="" style="width:100%"
         id="tfPlik" class="myTextInput">
</div>

<div class="txtDesc"> Użytkownik: </div>
<div class="inpEl">
  <input type="text" value="" style="width:100%"
         id="tfUzytkownik" class="myTextInput">
</div>

<div class="txtDesc"> Hasło: </div>
<div class="inpEl">
  <input type="text" value="" style="width:100%"
         id="tfHaslo" class="myTextInput">
</div>

<div style="width:50%;margin:0 auto;text-align:center;">
  <input type="button" value="Pobierz" class="myButton" id="btnPobierz"
         onclick="startRequest();" style="margin-top:10px;" />
</div>
</div>

<div id="dataDiv" class="dataDiv">
</div>

</body>
</html>




//dane.php   #############################################

<?php
$localDir = "./";
if(isSet($_GET["serwer"]) && isSet($_GET["plik"]) &&
   isSet($_GET["uzytkownik"]) && isSet($_GET["haslo"])){
  if($_GET["serwer"] == ''){
    echo "Proszę podać nazwę serwera.";
    exit;
  }
  $serwer = $_GET["serwer"];
  $plikZdalny = $_GET["plik"];
  $uzytkownik = $_GET["uzytkownik"];
  $haslo = $_GET["haslo"];

  if($plikZdalny == ""){
    echo "Proszę podać określenie pliku.";
    exit;
  }

  if(!$id = @ftp_connect($serwer)){
    echo("Błąd przy próbie połączenia z serwerem...");
    exit;
  }
  if(!@ftp_login($id, $uzytkownik, $haslo)){
    echo("Błąd przy próbie zalogowania...");
    exit;
  }
  $plikLokalny = $localDir . "/" . basename($plikZdalny);
  if(!@ftp_get ($id, $plikLokalny, $plikZdalny, FTP_BINARY)){
    echo("Nie udało się pobrać wskazanego pliku.");
    exit;
  }
  else{
    echo "Plik został pobrany.";
  }
  @ftp_close($id);
}
else{
  echo "Niepoprawne dane.";
}
?>







//ajaxcss.css   #############################################

.mainDiv
{
  color: #333333;
  position: relative;
  background-color: #EFEFEF;
  border: 1px solid #000000;
  margin: 10px 10px 10px 10px;
  padding: 14px 14px 14px 14px;
  width: 350px;
  visibility: visible;
}

.dataDiv
{
  color: #333333;
  position: relative;
  background-color: #ffffff;
  border: 1px solid #000000;
  margin: 10px 10px 10px 10px;
  padding: 14px 14px 14px 14px;
  width: 420px;
  visibility: visible;
}

.myButton
{
  font-family:helvetica,sans-serif;
  font-size:84%;
  font-weight:bold;
  border:1px solid;
  border-top-color:#696;
  border-left-color:#696;
  border-right-color:#363;
  border-bottom-color:#363;
  width:120px;
  margin:5px;
}

.myTextInput
{
  border:1px solid;
  background-color: #F8F8F8;
  border-top-color:#696;
  border-left-color:#696;
  border-right-color:#363;
  border-bottom-color:#363;
  width:70%;
}



//ajaxcore.js   #############################################

function getXMLHttpRequestObject()
{
  try{
    return new XMLHttpRequest();
  }
  catch(e){
    try{
      return new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(e){
      return false;
    }
  }
}

function startGETRequest(url, onComplete, onEnd)
{
  var XMLHttpRequestObject = getXMLHttpRequestObject();
  if(XMLHttpRequestObject){
    XMLHttpRequestObject.open("GET", url);
    XMLHttpRequestObject.onreadystatechange = function()
    {
      if (XMLHttpRequestObject.readyState == 4){
        if(XMLHttpRequestObject.status == 200){
          var responseXML = XMLHttpRequestObject.responseXML;
          var responseText = XMLHttpRequestObject.responseText;
          onComplete(responseText, responseXML);
        }
        delete XMLHttpRequestObject;
        onEnd();
      }
    }
    XMLHttpRequestObject.send(null);
  }
}

function startPOSTRequest(url, params, onComplete, onEnd)
{
  var XMLHttpRequestObject = getXMLHttpRequestObject();
  if(XMLHttpRequestObject){
    XMLHttpRequestObject.open("POST", url);
    XMLHttpRequestObject.setRequestHeader(
      'Content-Type', 'application/x-www-form-urlencoded');
    XMLHttpRequestObject.onreadystatechange = function()
    {
      if (XMLHttpRequestObject.readyState == 4){
        if(XMLHttpRequestObject.status == 200){
          var responseXML = XMLHttpRequestObject.responseXML;
          var responseText = XMLHttpRequestObject.responseText;
          onComplete(responseText, responseXML);
        }
        delete XMLHttpRequestObject;
        onEnd();
      }
    }
    XMLHttpRequestObject.send(params);
  }
}


//ajax.js   #############################################

function startRequest(param)
{
  serwerTxt = document.getElementById('tfSerwer').value;
  plikTxt = document.getElementById('tfPlik').value;
  uzytkownikTxt = document.getElementById('tfUzytkownik').value;
  hasloTxt = document.getElementById('tfHaslo').value;
  var btnPobierz = document.getElementById('btnPobierz');

  url = "dane.php?serwer=" + serwerTxt;
  url += "&plik=" + plikTxt + "&uzytkownik=" + uzytkownikTxt;
  url += "&haslo=" + hasloTxt;
  url = encodeURI(url);

  btnPobierz.disabled = true;
  btnPobierz.value = "Czekaj";

  var div = document.getElementById('dataDiv');
  div.innerHTML = "Trwa pobieranie danych...";

  startGETRequest(url, onComplete, onEnd);
}

function onComplete(text, xml)
{
  var div = document.getElementById('dataDiv');
  div.innerHTML = text;
}

function onEnd()
{
  var btnPobierz = document.getElementById('btnPobierz');
  btnPobierz.value = "Pobierz";
  btnPobierz.disabled = false;
}
 




Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
Komentarze użytkowników
    • Tre¶æ komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2020 v.1.5 | design: diviXdesign & rainbowcolors