Autor | Zpráva | ||
---|---|---|---|
VIPatrikPK Profil |
#1 · Zasláno: 10. 1. 2012, 14:13:46
Ahoj potreboval by som php skript čo by sa prihlásil do FTP a kontroloval či sa daný súbor nezväčšil a keď áno tak obnovný stránku .
Koľko to stojí ? Ďakujem |
||
Ugo Profil |
#2 · Zasláno: 10. 1. 2012, 15:15:09
Myslím, že jste vložil požadavek do špatné sekce, nicméně nemělo by to být nic složitého, pokud se jedná o normální ftp kam se dá přistoupit bez potíží s proxy atp. tak je to práce na pár minut. (Jestli správně chápu požadavek)
|
||
VIPatrikPK Profil |
#3 · Zasláno: 10. 1. 2012, 15:21:43
Aha ok a koľko by to stálo.
Ja som si myslel že PHP ide do PHP. |
||
SeparateSK Profil |
#4 · Zasláno: 10. 1. 2012, 18:38:46 · Upravil/a: SeparateSK
Najprv si vytvor súbor : status.php
<?php $subor = 'subor ,ktoreho velkost chces zistit'; $server="tvojastranka.sk"; $uMeno="FTP_MENO"; $uHeslo="FTP_HESLO"; $pripojenie = ftp_connect($server); $login_result = ftp_login($pripojenie,$uMeno,$uHeslo); $fs = ftp_size($pripojenie, $subor); if ($fs != -1) { echo "$fs"; } else { echo "0"; } ftp_close($pripojenie); ?> Tento súbor musí vypisovať len velkosť súboru, nič iné !!! - Žiadne veci ako napr "Velkost suboru je : ..." A potom do súboru, ktorý potrebuješ aby sa refreshoval napíš: <script> var fsa,fs=0; var loc=""; var udalost=false; function fsize(){ var x; if (this.XMLHttpRequest) { x=new XMLHttpRequest(); } else { x=new ActiveXObject("Microsoft.XMLHTTP"); } x.onreadystatechange=function() { if (x.readyState==4 && x.status==200) { fsa=x.responseText; if(fsa>fs&&fs!="0") udalost=true; else if(fsa<fs&&fs!="0") udalost=true; fs=x.responseText; } } x.open("GET","status.php",true); x.send(); if(udalost) { loc=location.href; location.href=loc; udalost=false; } } setInterval(fsize,1000); </script> <?php include("status.php"); ?> FTP informacie ($server , $uMeno, $uHeslo) si uprav. |
||
czechiaa Profil * |
#5 · Zasláno: 12. 1. 2012, 09:56:24
Zdravím,
byla by nějaké možnost přidat do tohoto kódu i to, aby se mi za číslem zobrazovala jednotka (B, KB, atp.) ? Nechci to psát ručně do toho, ale aby to samo zjistilo, protože tento script mi vypisuje jen velikost v čísle :/ Předem díky ;-) |
||
Tori Profil |
#6 · Zasláno: 12. 1. 2012, 10:18:26
Na začátek toho PHP souboru přidejte funkci
function format_bytes($a_bytes) { if ($a_bytes < 1024) { return $a_bytes .' B'; } elseif ($a_bytes < 1048576) { return round($a_bytes / 1024, 2) .' kB'; } elseif ($a_bytes < 1073741824) { return round($a_bytes / 1048576, 2) . ' MB'; } else { return round($a_bytes / 1073741824, 2) . ' GB'; } } echo format_bytes($fs); (funkce je zkopírovaná z komentáře v manuálu)
|
||
SeparateSK Profil |
#7 · Zasláno: 12. 1. 2012, 14:40:33 · Upravil/a: SeparateSK
súbor kde sa má stránka refreshovat zmeníš na :
<script> var fsa,fs,start=0; var loc,fsb=""; var udalost=false; function fsize(){ var x; if (this.XMLHttpRequest) { x=new XMLHttpRequest(); } else { x=new ActiveXObject("Microsoft.XMLHTTP"); } x.onreadystatechange=function() { if (x.readyState==4 && x.status==200) { fsa=x.responseText; fsa=fsa.replace(/B|kB|MB|GB|TB/ig,""); fsb=x.responseText; start+=1; if(start==1) document.getElementById('velkost').innerText=fsb; if(fsa>fs&&fs!="0") udalost=true; else if(fsa<fs&&fs!="0") udalost=true; fs=x.responseText; fs=fs.replace(/B|kB|MB|GB|TB/ig,""); } } x.open("GET","status.php",true); x.send(); if(udalost) { loc=location.href; // location.href=loc; document.getElementById('velkost').innerText=fsb; udalost=false; } } fsize(); setInterval(fsize,1000); </script> <div id="velkost">0,0B </div> fs=file size(velkost suboru - neaktualna),fsa=file size aktualna,fsb=file size aj s bajtami prečo mám fsa a fs a aký je tam rozdiel: fsa=aktuálna napr 32 a fs=neaktuálna napr 0, takže ak fsa>fs alebo fsa<fs ,tak zmení informácie o velkosti - preto je tu tento update, lebo to musí odstrániť B,kB,MB,GB,TB z fsa a z fs - update : stránka sa nerefreshuje, automaticky updatuje daný "div" , ak chceš ,aby sa refreshla odstrán "//" status.php - s použitím funkcie od Tori: <?php function format_bytes($a_bytes) { if ($a_bytes < 1024) { return $a_bytes .'B'; } elseif ($a_bytes < 1048576) { return round($a_bytes / 1024, 2) .'kB'; } elseif ($a_bytes < 1073741824) { return round($a_bytes / 1048576, 2) . 'MB'; } else { return round($a_bytes / 1073741824, 2) . 'GB'; } } $subor = 'public_html/SUBOR.BLABLA'; $server="STRANKA.SK"; $uMeno="MENO"; $uHeslo="HESLO"; $pripojenie = ftp_connect($server); $login_result = ftp_login($pripojenie,$uMeno,$uHeslo); $fs = ftp_size($pripojenie, $subor); if ($fs != -1) { echo format_bytes($fs); } else { echo "0"; } ftp_close($pripojenie); ?> |
||
czechiaa Profil * |
#8 · Zasláno: 13. 1. 2012, 12:04:13
použito, funkční ... díky :-)
|
||
Časová prodleva: 11 let
|
0