Current File : //etc/zpanel/panel/etc/apps/filemanager/get_extract_file.php |
<?php
//ini_set("display_errors", true);
error_reporting(0);
session_start();
class File_detail
{
public function __construct()
{
}
function file_read_socket($cmd_detail)
{
$service_port = 4444 ;
$address = gethostbyname('localhost');
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
return false;
}
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
return false;
}
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 300, "usec" =>0));
$in="command ".$cmd_detail;
$out = '';
if(@socket_write($socket, $in, strlen($in)))
{
sleep(1);
$s_data = socket_read($socket,1024);
socket_close($socket);
return $s_data;
}
else
{
socket_close($socket);
return false;
}
//return true;
}
public function file_delete_socket($cmd_detail)
{
$service_port = 4444 ;
$address = gethostbyname('localhost');
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
return false;
}
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
return false;
}
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 300, "usec" =>0));
$in="command ".$cmd_detail;
$out = '';
if(@socket_write($socket, $in, strlen($in)))
{
sleep(1);
socket_close($socket);
}
else
{
socket_close($socket);
}
//return true;
}
public function get_file_count()
{
if(array_key_exists("tmp_extract_file_name",$_SESSION))
{
$tmp_file_name = $_SESSION['tmp_extract_file_name'];
$cmd = "fileread ".$tmp_file_name;
$socket_return = $this->file_read_socket($cmd);
if(!$socket_return)
{
echo json_encode(array("status" =>0));
}
else
{
$sock_data1 = trim(preg_replace('/\s+/', ' ', $socket_return));
$sock_data = explode(" ",$sock_data1);
$file_count = intval($sock_data[0]);
$disk_free_space = intval($sock_data[2]);
$extract_status = trim(preg_replace('/\s+/', '', $sock_data[1]));
if($extract_status == "__HRPANEL_BACKUP_COMPLETED__")
{
$cmd = "filedelete ".$tmp_file_name;
$this->file_delete_socket($cmd);
echo json_encode(array("status" =>2,"filename"=>$tmp_file_name));
}
else
{
echo json_encode(array("status"=>1,"file_extract"=>$file_count,"filename"=>$tmp_file_name, "free_space"=>$disk_free_space));
}
}
}
else
{
$sock_status = true;
$service_port = 4444 ;
$address = gethostbyname('localhost');
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
$sock_status = false;
}
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
$sock_status = false;
}
socket_close($socket);
if ($sock_status )
{
$file_detail = array("status"=>1,"file_extract"=>0);
echo json_encode($file_detail);
}
else
{
echo json_encode(array("status" =>0));
}
}
}
}
$o = new File_detail();
$o->get_file_count();
?>