Glob / nlist & mkdir <->ftp server
Hej eksperter, her en local server med en ip adresse, som min side henter data fra ( overvågnings videoer), men da siden, selvfølgelig er langsom når den henter vil jeg gerne filerne bliver flyttet over på hjemmeside serveren, problemet er så bare følgende:1. jeg har en sti på local server som fx. hedder:
Dennis_test/cam1/folder_name/record/file_name.mkv
- jeg vil så gerne have flyttet filerne over så de får en sti der hedder:
Dennis_test/cam1/create_year/create_month/creadte/day/file_name.mkv
det kræver jo så at mapperne bliver oprettet ud fra file dato osv, dette har jeg også lavet, og virker fint, men da jeg så har to kamera sat op, vil den jo så lave to mapper (cam1 / cam2) jeg kan så ikke få det til at virke så de kommer i hver sine mapper.
jeg er ikke særlig skarp i det her, så gerne skær det ud i pap :)
koden her under virker sådan set fint nok, bare ikke når der pludselig er flere mapper der skal oprettes hvor filerne skal deles ud i hver mappe til hver sit kamera osv.
<?php
date_default_timezone_set('America/Mexico_City');
//echo 'Get all users ids and folder_names list one by one<br>';
// set SimpleFTP object, use host, username and password
$ftp = new SimpleFTP("XXX.XXX.XXX.XXX", "username", "password");
$show_footer = $mysqli->query("SELECT * FROM users WHERE active = '1' AND folder_name != ''");
while($show_foot = $show_footer->fetch_object())
{
// connect to FTP server
if($ftp->connect()) {
//print "Connection successful </br>";
$ftp->cd($show_foot->folder_name);
$file_name = $ftp->ls(".");
foreach ($file_name as $files) {
if ($files == '.DS_Store') {
// do nothing, just skip this
} else
{
// connect and login to FTP server
$ftp_server = "XXX.XXX.XXX.XXX";
$ftp_username = 'username';
$ftp_userpass = 'password';
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
$file = $show_foot->folder_name."/".$files;
// get the last modified time
$lastchanged = ftp_mdtm($ftp_conn, $file);
if ($lastchanged != -1)
{
$create_year = date("Y",$lastchanged);
$create_monthe = date("F",$lastchanged);
$create_day = date("d",$lastchanged);
}
else
{
echo "Could not get last modified";
}
$filename_new = "account/include/users/".$show_foot->id."/".$create_year."/".$create_monthe."/".$create_day."/".$files;
$structure = "account/include/users/".$show_foot->id."/".$create_year."/".$create_monthe."/".$create_day;
if (!file_exists($structure)) {
mkdir($structure, 0777, true);
}
if (!file_exists($filename_new)) {
if($ftp->get($files, $filename_new,FTP_BINARY)) {
print $files." downloaded<br>";
} else {
print "<br />Download failed: " . $ftp->error;
}
}
}
}
} else {
// connection failed, display last error
print "Connection failed: " . $ftp->error;
}
}
?>