Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Udostępnianie dem HLTV na stronie www
#21
Napisano 03.10.2009 01:11
#22
Napisano 03.10.2009 01:15
bakaczysko, ja mam 11 slotów prywatny ale wiesz o co chodzi chce to bo nie chce mi się z ftp zasysać, a poza tym nie raz ktoś chcę to muszę ściągać i wrzucać, a tak ktoś sam se ściągnie
#23
Napisano 04.10.2009 12:47
Próbowałem dać CHMOD 777 na plik "index.php" i na demka ale to nic nie dało
Warning: ftp_get(demo-0910041333-de_cbble.dem) [function.ftp-get]: failed to open stream: Permission denied in /home/user/domains/strona.pl/public_html/index.php on line 42 Warning: ftp_get() [function.ftp-get]: Error opening demo-0910041333-de_cbble.dem in /home/user/domains/strona.pl/public_html/index.php on line 42
Korzystam z tego skryptu:
<?php // --- Ustawienia serwera FTP --- $ftp_server = "host"; $ftp_login = "uzytkownik ftp"; $ftp_haslo = "hasło"; $dir = "cstrike"; // dokładny adres folderu w którym znajdują się demka // --- Ustawienia serwera FTP --- $conn_id = ftp_connect ($ftp_server) or die("Brak odpowiedzi z serwera $ftp_server"); $login_result = ftp_login($conn_id, $ftp_login, $ftp_haslo); if ((!$conn_id) || (!$login_result)) die("FTP Connection Failed"); ftp_sync ($dir); ftp_close($conn_id); function ftp_sync ($dir) { global $conn_id; if ($dir != ".") { if (ftp_chdir($conn_id, $dir) == false) { echo ("Change Dir Failed: $dir rn"); return; } if (!(is_dir($dir))) $contents = ftp_nlist($conn_id, "*.dem"); foreach ($contents as $file) { if ($file == '.' || $file == '..') continue; if (@ftp_chdir($conn_id, $file)) { ftp_chdir ($conn_id, ".."); ftp_sync ($file); } else ftp_get($conn_id, $file, $file, FTP_BINARY); } ftp_chdir ($conn_id, ".."); chdir (".."); } } ?>
#24
Napisano 04.10.2009 15:56
Problem rozwiązany, skrypt napisany przez DB miał kilka błędów i wymagał drobnych poprawek.
Jakich błędów ? Tak z ciekawości
#25
Napisano 04.10.2009 17:01
Co prawda to nie u mnie działał ten skrypt, ale pomagałem koledze. Skrypt lubi wysypać błąd adresów katalogówJakich błędów ? Tak z ciekawości
chmod 655 na demka (lub 555) i zostaną pobrane. Na plik index.php to samo.Próbowałem dać CHMOD 777 na plik "index.php" i na demka ale to nic nie dało
IP: ts3.cserwerek.pl
#26
Napisano 04.10.2009 18:10
Ale teraz mam pytanie jak zrobić żeby demka ściągały się już spakowane do formatu zip ?
#27
Napisano 04.10.2009 19:39
Jeśli chodzi o to co ja napisałem to odwrócić się tego (ściąganie dem zamiast wysyłania) nie da z prostej przyczyny, nie ma możliwości skorzystania z find oraz gzip z poziomu ftp. Tak więc po pierwsze nie dałoby się pominąć pliku aktualnie nagrywanego, po drugie nie dałoby się go spakować.
#28
Napisano 04.10.2009 20:05
Jeśli chodzi o PHP to jest taka możliwość, jedyny problem to ograniczenie miejsca dla wykonywanego skryptu w ustawieniach serwera (php.ini) do 34mb (standard). Spakujesz więc tylko pliki mniejsze od tej wartości, no chyba że masz łaskawego adminaAle teraz mam pytanie jak zrobić żeby demka ściągały się już spakowane do formatu zip ?
<?php
$dir = ".";
function scanDirectories($dir, $allowext, $allData=array()) {
$dirContent = scandir($dir);
foreach($dirContent as $key => $content) {
$path = $dir.'/'.$content;
$ext = substr($content, strrpos($content, '.') + 1);
if(in_array($ext, $allowext)) {
if(is_file($path) && is_readable($path)) {
$allData[] = $path;
}elseif(is_dir($path) && is_readable($path)) {
$allData = scanDirectories($path, $allData);
}
}
}
return $allData;
}
$allowext = array("dem");
$files = scanDirectories($dir,$allowext);
print_r($files);
function bzip2 ($p) {
$t = file_get_contents($p);
$sp = bzopen ($p.".bz2", "w");
bzwrite($sp, $t);
bzclose ($sp);
return true;
}
$i=0;
while(isset($files[$i])) {
bzip2($files[$i]);
$i++;
echo 'Spakowano!';
}
?>
Skrypt do folderu z niespakowanymi demami i działa.
bzip2 jest wszędzie chyba.Chyba jest możliwość skorzystania z kompresji (chyba kwestia zainstalowanej biblioteki).
IP: ts3.cserwerek.pl
#29
Napisano 04.10.2009 20:33
Array ( [0] => ./demk-0910041958-de_kabul.dem ) Fatal error: Call to undefined function bzopen() in /home/user/domains/dema.strona.pl/public_html/dema/pakowanie.php on line 27
Mam dostęp do root'a na VPS gdyby coś trzeba było zmienić.
#30
Napisano 04.10.2009 20:33
#31
Napisano 05.10.2009 19:05
#32
Napisano 05.10.2009 21:17
Dobrze, a ja mam takie pytanie jak mam serwer na WhiteRabbit to jak mam tego CRONTAB'a zrobić ?
Crontab masz w directadmin na swoim VPS tam gdzie stoi strona www a nie tam gdzie stoi serwer ;]
Musisz posiadać dostęp albo do ssh w przypadku VPS albo do DirectAdmin
#33
Napisano 05.10.2009 23:57
#34
Napisano 06.10.2009 11:26
Wrzucasz skrypt do głównego folderu (public_html) i w panelu zarządzania hostingiem - cPanel lub DirectAdmin ustawiasz go w CronTab'ie wykorzystując polecenie:
Kod: /usr/local/bin/php /home/nazwa_konta/nazwa_skryptu.php
@Edit
Lub jeśli masz serwer dedykowany/VPSKod: find /katalog/w/krotey/sa/pliki/**dem mtime +14 -exec rm {} ;
#35
Napisano 06.10.2009 13:28
#36
Napisano 24.10.2009 15:24
#37
Napisano 24.10.2009 20:27
#38
Napisano 22.11.2009 03:42
bartu233@10825:~$ sh wysylanie.sh
: command not found1:
: command not found2:
: command not found3:
: command not found4:
: command not found5:
: command not found6:
: command not found7:
: command not found8:
wysylanie.sh: line 9: //tego: Nie ma takiego pliku ani katalogu
mkdir: nie można utworzyć katalogu `r': Plik istnieje
find: ścieżki muszą poprzedzać wyrażenie:
Składnia: find [-H] [-L] [-P] [-Opoziom] [-D help|tree|search|stat|rates|opt|exec] [ścieżka...] [wyrażenie]
gzip: /*.dem: No such file or directory
is a directory -- ignored
: command not found13:
: Host name lookup failure
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
?Invalid command
?Invalid command
Not connected.
#39
Napisano 22.11.2009 11:01
IP: ts3.cserwerek.pl
#40
Napisano 22.11.2009 15:15
_host="ip_hosta_na_ktory_ma_wysylac_demka"
_user="user"
_pass="pass"
_pliki="*.zip"
katalog_zdalny="public_html/*******.pl/dema"
katalog_lokalny="outbox"
katalog_cstrike="hlds/27015/cstrike/*.dem"
//tego juz nie ruszacie
mkdir $katalog_lokalny
find $katalog_cstrike -mmin +2 -exec mv {} $katalog_lokalny ;
gzip -1f -S .zip $katalog_lokalny/*.dem
cd $katalog_lokalny
ftp -in $_host << KONIEC
user $_user $_pass
binary
mkdir $katalog_zdalny
cd $katalog_zdalny
send $_pliki
close
KONIEC
rm -f $katalog_lokalny
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych