le 11/07/2011 à 01:49
Vérifier champs d'un formulaire
LupusMic
-
SignatureDéveloppeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
-
Site web
-
Nombre de sujets26
-
Nombre de messages1 684
-
Nombre de commentaires4
-
Nombre de newsAucune
-
Niveau en PHP
Ses derniers messages sur les forums
le 08/07/2011 à 11:31
Transfert de fichier
Un nom de fichier est une chaîne de caractères, ça n'a rien de particulier.
J'ai peur de comprendre ce que tu veux faire avec readfile.
Tout d'abord, il faut comprendre une chose lorsqu'on fait du développement Web : on n'affiche jamais rien. Certes, on le dit parce que ce serait trop pénible d'expliquer aux autres pourquoi c'est incorrect, mais dans l'absolu, on fabrique un document HTML qui sera analysé et dont une représentation visuelle sera affichée à l'utilisateur par le navigateur.
Pour « afficher » une image dans une page, il faut créer un élément img et définir le contenu de son attribut src qui désigne un point d'accès à l'image.
Par exemple :
Si ton image n'est pas accessible depuis un répertoire exporté à travers ton serveur, ou si tu veux que l'image soit calculée à la volé, tu peux utiliser readfile pour lire le fichier et le cracher au client HTTP :
Il existe une technique pour embarquer directement le contenu de l'image dans le HTML, mais ça peut poser d'autres problèmes.
Bref, ce qu'il faut comprendre ici, c'est que la construction du visuel de la page se fait en plusieurs temps.
J'ai peur de comprendre ce que tu veux faire avec readfile.
Tout d'abord, il faut comprendre une chose lorsqu'on fait du développement Web : on n'affiche jamais rien. Certes, on le dit parce que ce serait trop pénible d'expliquer aux autres pourquoi c'est incorrect, mais dans l'absolu, on fabrique un document HTML qui sera analysé et dont une représentation visuelle sera affichée à l'utilisateur par le navigateur.
Pour « afficher » une image dans une page, il faut créer un élément img et définir le contenu de son attribut src qui désigne un point d'accès à l'image.
Par exemple :
<img src='/images/lolcat-1.jpeg' alt='Business cat' />
Si ton image n'est pas accessible depuis un répertoire exporté à travers ton serveur, ou si tu veux que l'image soit calculée à la volé, tu peux utiliser readfile pour lire le fichier et le cracher au client HTTP :
<img src='/images/lolcat-1.php?name=Serious%20Cat' alt='<?php echo htmlentities($nom_image, ENT_QUOTES, 'utf-8') ?>/>
<?php
// Je ne fais pas toutes les vérifications d'usage, ce script n'est pas sécurisé.
$img_nom = './photos/' . $_GET['name'] ;
header(sprintf('Content-length: %d', filesize($img_nom)) ;
readfile($img_nom) ;
Il existe une technique pour embarquer directement le contenu de l'image dans le HTML, mais ça peut poser d'autres problèmes.
Bref, ce qu'il faut comprendre ici, c'est que la construction du visuel de la page se fait en plusieurs temps.
le 07/07/2011 à 22:05
Transfert de fichier
Personnellement, j'utiliserais un datetime pour renommer le fichier.
<?php
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
{
if ($_FILES['monfichier']['size'] <= 1000000)
{
$infosfichier = pathinfo($_FILES['monfichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
// Le suffixe ne garantie pas le contenu du fichier
// Le nom aléatoire n'est jamais utilisé, du coup, il faudrait que tu l'utilise ;)
$nom_aleatoire = md5(uniqid(rand(), true));
if (in_array($extension_upload, $extensions_autorisees))
{
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($nom_aleatoire . '-' . $_FILES['monfichier']['name']));
echo "L'envoi a bien été effectué !";
}
}
}
le 07/07/2011 à 08:37
Executer un script php toute les X seconde.
J'aime beaucoup ton humour, 5s léger, haha ;)
J'ai du mal à voir qu'est-ce qui peut bien prendre 5s afin de déterminer quelque chose d'aussi simple. Tu peux nous montrer la requête SQL qui calcule ça ?
J'ai du mal à voir qu'est-ce qui peut bien prendre 5s afin de déterminer quelque chose d'aussi simple. Tu peux nous montrer la requête SQL qui calcule ça ?
le 06/07/2011 à 23:34
htacces erreur redirection
Alors tu ne seras jamais bonne, car 'A' et 'a' seront toujours différents :p
Tu as un problème au niveau de ton expression régulière :
Devrait être :
Ceci dit, pourquoi utiliser un sous-domaine lorsqu'il suffit de charger les bons templates de ton application en fonction du UA ?
Quelque chose dans ce goût là :
Tu as un problème au niveau de ton expression régulière :
RewriteCond %{REQUEST_URI} !^/MONSITE.fr/*$
Devrait être :
RewriteCond %{REQUEST_URI} !^MONSITE.fr/.*$
Ceci dit, pourquoi utiliser un sous-domaine lorsqu'il suffit de charger les bons templates de ton application en fonction du UA ?
Quelque chose dans ce goût là :
<?php
// Fonction utilitaire pour déterminer si le client web est bien un périphérique mobile
funtion is_mobile()
{
$pattern = '@android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile@' ;
$ret = preg_match($pattern, $_SERVER['HTTP_USER_AGENT']) ;
if($ret === false)
/* Il faut gérer l'erreur*/ ;
return (bool) $ret ;
}
if(is_mobile())
$template = 'templates/portal.wap.php' ;
else
$template = 'templates/portal.html.php' ;
include $template ;
le 06/07/2011 à 23:17
Definir Racine de mon site
C'est quoi la racine (pour toi) ?
C'est quoi une constante racine ?
C'est quoi une constante racine ?
le 06/07/2011 à 23:16
Executer un script php toute les X seconde.
Le fichier n'est pas forcément plus léger, et peut introduire des bogues bien vicieux (écriture concurrente).
Une solution telle que Memcache sera certainement plus à propos. Mais il faut tester pour voir si l'optimisation vaut vraiment le coup. Peut-être qu'une procédure stockée suffira à ton problème de performance.
D'ailleurs, quel est le problème de performance (temps d'exécution de la requête) ?
As-tu analysé la requête SQL pour voir si elle ne peut pas être optimisée ?
Si tu veux exécuter une tâche toutes les 20s, tu as cron sur les serveurs Linux ou Unix.
Une solution telle que Memcache sera certainement plus à propos. Mais il faut tester pour voir si l'optimisation vaut vraiment le coup. Peut-être qu'une procédure stockée suffira à ton problème de performance.
D'ailleurs, quel est le problème de performance (temps d'exécution de la requête) ?
As-tu analysé la requête SQL pour voir si elle ne peut pas être optimisée ?
Si tu veux exécuter une tâche toutes les 20s, tu as cron sur les serveurs Linux ou Unix.
le 04/07/2011 à 01:00
Quel champ dans un table pour code zip
Les codes postaux ne sont pas des nombres. En France, il faut au moins 5 caractères alphanumériques. Si tu envisage d'avoir des codes postaux étrangers, prévoie une dizaine de caractères.
le 28/06/2011 à 16:15
problem avec update
Ne t'excuses pas, le smiley était là pour dire que, bon d'accord ça m'énerve, mais je ne vais pas m'en formaliser plus avant.
Bon, par contre tu ne réponds pas à mes demandes d'information :-/ Essaye vraiment de ne pas utiliser d'abréviations, ou alors, définie-les.
En ce qui concerne ton problème, je pense que le problème se situe à la ligne 22 du fichier modification3.php. Je crois qu'il y a une virgule en trop qui se balade. Mais c'est vrai que le message d'erreur résultant n'est pas très clair.
En passant, on se demande pourquoi tu mets aussi à jour l'id. Laisse-le tranquille :
Et pour finir, j'écris mon code en anglais, car je passe en mode anglais quand je code (non, le W-langage, je ne peux pas). Du coup, quand je lis « fart » ça me fait marrer ;)
Bon, par contre tu ne réponds pas à mes demandes d'information :-/ Essaye vraiment de ne pas utiliser d'abréviations, ou alors, définie-les.
En ce qui concerne ton problème, je pense que le problème se situe à la ligne 22 du fichier modification3.php. Je crois qu'il y a une virgule en trop qui se balade. Mais c'est vrai que le message d'erreur résultant n'est pas très clair.
En passant, on se demande pourquoi tu mets aussi à jour l'id. Laisse-le tranquille :
<?php
$sql = "UPDATE famillearticle
SET li_art = '$li_art'
WHERE id_fart = '$id_fart'" ;
Et pour finir, j'écris mon code en anglais, car je passe en mode anglais quand je code (non, le W-langage, je ne peux pas). Du coup, quand je lis « fart » ça me fait marrer ;)
le 28/06/2011 à 11:26
problem avec update
Tout d'abord, je t'invite à bannir les formules telles que « veuillez faire quelque chose » ou « merci de » lorsque tu demandes de l'aide. Ces formules sont utilisées pour instaurer un rapport de force hiérarchique. Mais nous ne sommes pas tes chiens :)
Ensuite, tu ne dis pas ce que sont censé faire les différents scripts. Or, ils sont plein d'abréviations, ce qui rend le code illisible et incompréhensible, pour quelqu'un qui ne l'a pas écrit (ou toi, dans quelques mois ;) ).
J'ai bien d'autres questions, mais je vais attendre de connaître le workflow de ton application avant de te demander des précisions. Note qu'il est très fortement possible que tu trouve ton bogue une fois que tu auras décrit ce que tu veux faire, et ce que le script est censé faire.
Ensuite, tu ne dis pas ce que sont censé faire les différents scripts. Or, ils sont plein d'abréviations, ce qui rend le code illisible et incompréhensible, pour quelqu'un qui ne l'a pas écrit (ou toi, dans quelques mois ;) ).
J'ai bien d'autres questions, mais je vais attendre de connaître le workflow de ton application avant de te demander des précisions. Note qu'il est très fortement possible que tu trouve ton bogue une fois que tu auras décrit ce que tu veux faire, et ce que le script est censé faire.