[PHP] get zip file when visiting browser

With Apache + PHP
This code allows us to download a file zip from browser:


<?php

    $your_zip_file = "/path/to/your_zip_file.zip";

    $file_name = basename($yourfile);

    header("Content-Type: application/zip");
    header("Content-Disposition: attachment; filename=$file_name");
    header("Content-Length: " . filesize($your_zip_file ));

    readfile($your_zip_file );
    exit;

?> 

[PHP] Capacité d’agent aérien d’accueillir les voyageurs

Objectif (Version française)

Les périodes de vacances scolaires riment souvent avec fortes affluences dans les aéroports.

Une compagnie aérienne tente de répondre à ce besoin en mobilisant d’avantage d’agents d’escale prêts à accueillir et aiguiller les voyageurs. L’affluence n’étant pas constante, elle décide de mobiliser plus ou moins d’agents selon l’heure de la journée.

Pour simplifier, on considère qu’une journée est divisée en 3 parties :
– de 00h00 à 7h45
– de 7h46 à 15h45
– de 15h46 à 23h59
Une réunion a lieu chaque veille de départ pour estimer le nombre d’agents à mobiliser le lendemain sur chacune des trois périodes de la journée. Un algorithme complexe calcule une projection sur les heures d’arrivées de chaque voyageur.

En supposant qu’un agent peut répondre à 30 voyageurs sur une période donnée, vous devez estimer le minimum d’agent à mobiliser sur chaque période.

 

Format des données

Entrée
Ligne 1 : un entier N représentant le nombre de voyageurs dans une journée
Ligne 2 à N+1 : une heure H au format HH:MM correspondant à une heure d’arrivée d’un voyageur

Sortie
Trois nombres séparés par des espaces correspondant aux nombres d’agents d’escale à mobiliser sur chaque période

Objectif (Version chinoise)

航空公司要计算一天之内服务员配置问题。

一天分为三个时段,分别是:

从0点到7点45;从7点46到下午3点45;从下午3点46到晚上11点59.

每个服务员在每个时间段内最多可以接待30个旅客。

输入数据:

第一行:N为一天游客总人数

从第二行到第N行:游客出现时间点

输出数据:

计算每个时间段所需要服务员的人数。

[PHP] Calculer les clients sont globalement satisfaits

Objectif (Version française)

Une entreprise spécialisée dans les sondages cherche à évaluer la satisfaction client d’un supermarché. Elle décide de mesurer le temps d’attente des clients dans la queue.

Si un client atteint les 20 minutes d’attente, il laisse son caddie et s’en va du magasin. Il est considéré comme client « perdu ».

L’enquête estime à la fin du mois que les clients sont globalement satisfaits s’ils ont attendu en moyenne moins de 7 minutes et que moins de 10% des clients sont « perdus ».

Vous devez déterminer la satisfaction client

 

Format des données

Entrée
Ligne 1 : un entier N représentant le nombre de clients dans le mois.
Ligne 2 à N+1 : un entier M compris entre 0 et 20 correspondant au temps d’attente par client.

Sortie
La chaîne OK si les clients sont globalement satisfaits, KO sinon.

 

Objectif (Version Chinese)

一公司通过计算用户在超市等待时间来调查用户满意度。

如果客户等待超过20分钟,则被称为“丢失”。

每月月底,如果客户平均等待时间少于7分钟或者“丢失”的客户少于10%,则满意度OK,否则KO。

输入数据为一文本文件:

第一行:N 一个月总共客户人数

从第二行到第N行:代表每个客户从0到20分钟的等待时间。

输入数据:

类型:String

如果满意度达标则显示OK,否则KO。

 

Continue reading

By Bo Posted in PHP

[LXD] Commands for LXD/LXC

The commands for lxd/lxc :

 

Configuring a new LXD installation for the first time

sudo lxd init

 

Checking LXD version

sudo lxd --version

Listing all image servers

sudo lxc remote list

 

Getting a list of available images from an image server

sudo lxc image list images:

 

Getting a filtered image list from an image server

 

Creating a new container

Or

sudo lxc launch images:[type_of_container] [your_container_name]

 

Starting a container

sudo lxc start [your_container_name]

 

Stopping a container

sudo lxc stop [your_container_name]

Removing a container

sudo lxc delete [your_container_name]

 

Connect to a container via command line

sudo lxc exec [your_container_name] -- /bin/bash

 

TODO

 

Ref. from:

https://linuxcontainers.org/lxd/getting-started-cli/#importing-some-images

http://bartsimons.me/lxd-cheat-sheet-for-beginners/

[Bash shell] Find something in some files

Command “find” is one of the most powerful command in linux, here is an exmaple that allows list the files which contain something.

find . -name \*.[type of your files] -exec grep -q "[text that you want to search]" "{}" \; -print

For example, I have two shell files in my folder :

 
$ ll
drwxrwxr-x 3 bo bo 4096 juin 13 14:56 ./
drwxr-xr-x 16 bo bo 4096 juin 13 14:04 ../
-rwxrwxrwx 1 bo bo 2554 juin 12 18:05 first.sh*
-rwxrwxrwx 1 bo bo 1283 juin 12 16:10 second.sh*

And I want to find the string “spark” in these files

$ find . -name \*.sh -exec grep -q "spark" "{}" \; -print

And I got :

./second.sh