| 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: 14 let
|
|||
0