[Docker] Display only containers’ name

Normally, the command ‘docker ps -a’ allows display all the informations of docker, but if we want only the names of containers, we can do like this :

docker ps --format '{{.Names}}'
Advertisements

[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

[PHP]memory limit

 

Encountered problem :

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes)

 

Tempory solution for debug :

Add ini_set(‘memory_limit’, ‘-1’);  in for example index.php to turn off the default memory control of PHP.

This is not the best solution, because it means that the program can use as much memory as it wants, maybe that will cause a memory overflow. The best way is to improve the program, for example pagnation to a batch etc.

[PHP] PHP code showing on the page instead of being executed

Environment :
Ubuntu Server 14.04
PHP 5.5.9

Problem :
PHP code showing on the page instead of being executed

Reason :
The reason that I met this problem is because the PHP file I used begin with (<?) instead of (<?php) which the short tag is deprecated by default.

Solution :
Find php.ini in /etc/php5/apache2, make sure the option short_open_tag=On, if not, change if to On.

Another solution more complete from stack overflow : http://stackoverflow.com/a/5121589/740546

[OpenShift] Deploy PHP/MySQL in OpenShift got 503 Service Temporarily Unavailable / 504 Gateway Time-out

Context :

The objective is to deploy the connection of MySQL with PHP in an OpenShift Server.
OpenShift is PaaS provided by Red Hat. For more info, read wikipedia OpenShift.

Problem :

The server returns :

503 Service Temporarily Unavailable

or

504 Gateway Time-out

Continue reading

[Install PHPUnit] Installing PEAR and PHPUnit on WAMP and Windows 7 (no longer maintained from PHPUnit 3.7)

First of all, thanks to @Sebastian Bergmann for reminding and sorry for my careless about this reblog because End of Life for PEAR Installation Method to PHPUnit from github and The package PHPUnit is not maintained anymore and has been superseded. Package has moved to channel pear.phpunit.de, package PHPUnit from pear.php.net.

So this blog should be a reblog of installing PHPUnit(<3.7) in Windows7 from http://thecancerus.com/ and I found it was still useful for understanding the theory of configuration of php(in wamp) and the environment variables.

The newest manual installation of PHPUnit in windows can be found its documentation.

Continue reading

[PHP] upload file and zip with password

Background (needs):
1. upload a file without checking the type (whatever the type)
2. move the file into a specific folder
3. zip the file with password

Thanks to the function move_uploaded_file, it is very simple to move file to wherever you want, of course, you must have the privilege to do that.

As it is quite simple, I put the source code directely here :
Continue reading

[PHP] PHP Warning: Module ‘mcrypt’ already loaded in Unknown on line 0

Like in the title, PHP Warning: Module ‘mcrypt’ already loaded in Unknown on line 0.
When we launch whatever a command PHP, for example php -v, we will see the warning :

# php -v
PHP Deprecated:  Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/mcrypt.ini on line 1 in Unknown on line 0
PHP Warning:  Module 'mcrypt' already loaded in Unknown on line 0
...

This warning was caused by the duplicated configuration of the mcrypt extension.

To check it, we can use this command (the path could be changed depends on the local configuration):

grep "extension=mcrypt.so" /etc/php5/cli/php.ini

and

grep "extension=mcrypt.so" /etc/php5/cli/conf.d/mcrypt.ini

If the two command return the same thing : “extension=mcrypt.so”, this means the extension is included two times.

The solution is simple, juste remove one of these configuration, that will be ok.