Morceaux de scripts PHP bien utiles, participez ;)
50 messages • Page 3 sur 4 • 1, 2, 3, 4
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
>> c'est juste que sur les forums de developpez.net ca avait bien marché et il y avait des fonctions très intéressantes.
re dslé, l'idée est en trés interressante et je compte suivre ce thread !! Je ne savais qu'il y aurait un sommaire mise a jour régulièrement. Le problème pour toi sera de voir quel bout de code tu crédites. Car deja celui ci est obsolète : -http://www.webrankinfo.com/forums/viewtopic_58093.htm#558662
puisqu'il peut s'ecrire en 1 ligne comme je l'indique precedement. Je te laisse juge et te souhaite bonne route !!
re dslé, l'idée est en trés interressante et je compte suivre ce thread !! Je ne savais qu'il y aurait un sommaire mise a jour régulièrement. Le problème pour toi sera de voir quel bout de code tu crédites. Car deja celui ci est obsolète : -http://www.webrankinfo.com/forums/viewtopic_58093.htm#558662
puisqu'il peut s'ecrire en 1 ligne comme je l'indique precedement. Je te laisse juge et te souhaite bonne route !!
créer et forcer le download d'un iso (suppose serveur linux)
Ca présuppose la création d'une arborescence de fichiers qui servira à la création de l'iso sur le filesystem. Dans mon cas les données sont majoritairement des symlink() dans le répertoire temporaire où l'iso est contruit, pour éviter des copies de fichiers (répertoire temporaire créé unique, avec un partie sortant de uniqid() par exemple, du genre $nomCD = uniqid('moncd_tmp_')).
Il faut mkisofs sur le serveur. Le CD créé est hybride rockridge/joliet, les éléments AUTORUN.inf et .exe sont cachés sous macOS et les applis mac (index.macapp et Demarrer - pour exemple) sont cachés sous windows
$nom_joli est le nom sous lequel l'image apparaîtra lors du download
Ca marche de la même manière pour créer des zip à télécharger directement (changer les ".iso" en ".zip", remplacer mkisofs par un truc comme "cd /tmp/$nomCD; zip -rq 0 ../$nomCD.zip *", penser à l'option "déréférencer les symlinks" si ce n'est pas le comportement par défaut.
(et si c'est gros, penser à set_time_limit(0); pour ne pas échouer du fait du dépassement le temps max d'exécution php)
Il faut mkisofs sur le serveur. Le CD créé est hybride rockridge/joliet, les éléments AUTORUN.inf et .exe sont cachés sous macOS et les applis mac (index.macapp et Demarrer - pour exemple) sont cachés sous windows
$nom_joli est le nom sous lequel l'image apparaîtra lors du download
- Code: Tout sélectionner
function creerEtTélechargerIso($nomCD,$nom_joli){
exec('mkisofs -f -J -R -hfs -hide-hfs AUTORUN.INF -hide-hfs "*.exe" -hide-joliet Demarrer -hide-joliet index.macapp -allow-leading-dots -o /tmp/'.$nomCD.'.iso /tmp/'.$nomCD);
header('Content-Type: application/force-download');
header("Content-Disposition: filename=".str_replace(" ","_",$nom_joli).".iso;");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize("/var/www/tmp/".$nomCD.".iso"));
readfile("/tmp/".$nomCD.".iso");
exec("rm -f /tmp/".$nomCD.".iso");
exec("rm -rf /tmp/".$nomCD);
}
Ca marche de la même manière pour créer des zip à télécharger directement (changer les ".iso" en ".zip", remplacer mkisofs par un truc comme "cd /tmp/$nomCD; zip -rq 0 ../$nomCD.zip *", penser à l'option "déréférencer les symlinks" si ce n'est pas le comportement par défaut.
(et si c'est gros, penser à set_time_limit(0); pour ne pas échouer du fait du dépassement le temps max d'exécution php)
KOogar a écrit:>> c'est juste que sur les forums de developpez.net ca avait bien marché et il y avait des fonctions très intéressantes.
re dslé, l'idée est en trés interressante et je compte suivre ce thread !! Je ne savais qu'il y aurait un sommaire mise a jour régulièrement. Le problème pour toi sera de voir quel bout de code tu crédites. Car deja celui ci est obsolète : -http://www.webrankinfo.com/forums/viewtopic_58093.htm#558662
puisqu'il peut s'ecrire en 1 ligne comme je l'indique precedement. Je te laisse juge et te souhaite bonne route !!
Autant pour moi, je n'avais pas vraiment fait attention à cette fonction.
magic corp. a écrit:Fonction de mise en forme de texte pour utilisation dans une URL (Par exemple pour de l'URL Rewriting)
- Code: Tout sélectionner
...
Bonjour, j'ai essayé d'utiliser ce code mais voilà le résultat (en bas de page) :
http://www.virtual-games.org/v3/tests.php?id=1
- Code: Tout sélectionner
Fatal error: Cannot redeclare convert_for_uri() (previously declared in /home.10.3/virtualg/www/v3/tests.php:46) in /home.10.3/virtualg/www/v3/tests.php on line 46
Voici mon code complet :
- Code: Tout sélectionner
<?php require("config.inc.php");
mysql_connect($host,$username,$password);
mysql_select_db($bdd_name);
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM images LEFT JOIN jeux ON images.id_jeu = jeux.id WHERE id_article = '$id' AND type = 'vg'");
while($donnees = mysql_fetch_array($sql))
{
$support = $donnees['support'];
function convert_for_uri($support) {
// Définition du séparateur
define("SEPARATOR", "-");
$tofind = "àáâãäåòóôõöøèéêëçìíîïùúûüÿñ"; // Lettre accentuées
$replac = "aaaaaaooooooeeeeciiiiuuuuyn"; // Equivalant non accentué
// Mise en minuscule + suppression des lettres accentuées par leur équivalant non accentué
$support = strtr(strtolower($support),$tofind,$replac);
// Remplacement de caractère non alphanumérique par un séparateur
$support = ereg_replace("[^a-z0-9]", SEPARATOR, $support);
// Suppression des doubles séparateurs
while (strstr($support, SEPARATOR . SEPARATOR))
$support = str_replace(SEPARATOR . SEPARATOR, SEPARATOR, $support);
// Retour avec suppression d’un possible séparateur en fin de chaîne
return(ereg_replace(SEPARATOR . "$", "", $support));
}
?>
<img src="images_jeux/<?php echo $support ?>/<?php echo $donnees['id_jeu'] ?>/<?php echo $donnees['id_image'] ?>.gif" />
<?php } mysql_close(); ?>
Le mot qu'il faut mettre en force est : Xbox 360 .
Avez vous une idée du problème ?
Merci beaucoup, a455bcd9
- magic corp.
- WRInaute impliqué

- Messages: 425
- Inscription: Jeu Juin 17, 2004 9:56
Je pense que ça vien du faite que tu déclares la fonction dans une boucle ...
Est ce mieux comme ça :
Est ce mieux comme ça :
- Code: Tout sélectionner
<?php require("config.inc.php");
function convert_for_uri($support) {
// Définition du séparateur
define("SEPARATOR", "-");
$tofind = "àáâãäåòóôõöøèéêëçìíîïùúûüÿñ"; // Lettre accentuées
$replac = "aaaaaaooooooeeeeciiiiuuuuyn"; // Equivalant non accentué
// Mise en minuscule + suppression des lettres accentuées par leur équivalant non accentué
$support = strtr(strtolower($support),$tofind,$replac);
// Remplacement de caractère non alphanumérique par un séparateur
$support = ereg_replace("[^a-z0-9]", SEPARATOR, $support);
// Suppression des doubles séparateurs
while (strstr($support, SEPARATOR . SEPARATOR))
$support = str_replace(SEPARATOR . SEPARATOR, SEPARATOR, $support);
// Retour avec suppression d’un possible séparateur en fin de chaîne
return(ereg_replace(SEPARATOR . "$", "", $support));
}
mysql_connect($host,$username,$password);
mysql_select_db($bdd_name);
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM images LEFT JOIN jeux ON images.id_jeu = jeux.id WHERE id_article = '$id' AND type = 'vg'");
while($donnees = mysql_fetch_array($sql))
{
$support = $donnees['support'];
?>
<img src="images_jeux/<?php echo $support ?>/<?php echo $donnees['id_jeu'] ?>/<?php echo $donnees['id_image'] ?>.gif" />
<?php } mysql_close(); ?>
- magic corp.
- WRInaute impliqué

- Messages: 425
- Inscription: Jeu Juin 17, 2004 9:56
Pour ça il faut utiliser la fonction et pas uniquement la déclarer.
Ou
- Code: Tout sélectionner
...
while($donnees = mysql_fetch_array($sql))
{
$support = convert_for_uri($donnees['support']);
?>
...
Ou
- Code: Tout sélectionner
while($donnees = mysql_fetch_array($sql))
{
echo('<img src="images_jeux/' . convert_for_uri($donnees['support']) . '/' . $donnees['id_jeu'] . '/' . $donnees['id_image'] . '.gif" />');
}
mysql_close(); ?>
- fablezouave
- WRInaute occasionnel

- Messages: 109
- Inscription: Mer Déc 20, 2006 7:33
salut
Pour ma part, je pense que ce thread devrait être purement et simplement supprimé!
95% (j'ai pas osé dire 100% ...il y en a un de bien je crois) des codes proposés ne valent rien et ce, pour différentes raisons :
* Utilisation de fonctions obsolètes
* Optimisation nulle : certains codes de dix lignes s'ecrivent en une seule
* le pire : certains contiennent des trous de sécurité
Et j'en passe et des meilleurs ....
Je sais que je vais pas me faire que des potes sur ce coup là, mais donner de mauvais codes à des débutants (ou pas, j'ai même vu un "spécialiste" utiliser eregi_replace ...) n'est pas la bonne solution.
Certes, wai, ça marche (et encore peut-être pas tous) ... après on s'étonne sur les forums spécialisés dans le langage PHP de voir de telles inepties .... pff
efin bref, amusez-vous bien ...
fab
Pour ma part, je pense que ce thread devrait être purement et simplement supprimé!
95% (j'ai pas osé dire 100% ...il y en a un de bien je crois) des codes proposés ne valent rien et ce, pour différentes raisons :
* Utilisation de fonctions obsolètes
* Optimisation nulle : certains codes de dix lignes s'ecrivent en une seule
* le pire : certains contiennent des trous de sécurité
Et j'en passe et des meilleurs ....
Je sais que je vais pas me faire que des potes sur ce coup là, mais donner de mauvais codes à des débutants (ou pas, j'ai même vu un "spécialiste" utiliser eregi_replace ...) n'est pas la bonne solution.
Certes, wai, ça marche (et encore peut-être pas tous) ... après on s'étonne sur les forums spécialisés dans le langage PHP de voir de telles inepties .... pff
efin bref, amusez-vous bien ...
fab
un homme charmant sous tout rapports.....
Heureusement que le titre du thread est "bouts de code ultra optimisés super secure de la mort pour se palucher sur du php 7.4 rc3" et pas "bouts de code utiles"
désolé du freepost, mais la ca me grattait
Heureusement que le titre du thread est "bouts de code ultra optimisés super secure de la mort pour se palucher sur du php 7.4 rc3" et pas "bouts de code utiles"
désolé du freepost, mais la ca me grattait
- fablezouave
- WRInaute occasionnel

- Messages: 109
- Inscription: Mer Déc 20, 2006 7:33
Heureusement que le titre du thread est "bouts de code ultra optimisés super secure de la mort pour se palucher sur du php 7.4 rc3" et pas "bouts de code utiles"
Tout à fait d'accord avec toi. C'est juste que j'en vois tellement passer tous les jours avec des "aye aye aye mon site s'est fait hacké" , "pourquoi ma page met trente minutes à se charger ?" .... après, vous faites bien ce que vous voulez.
fab
Tres bonne comme idée .voici ma petite contribution
edit dd32 : ajout bbcode
- Code: Tout sélectionner
* Enlève les accents
*
* @return string
*/
function sansaccent($chaine)
{
return strtr($chaine,
'àâäåãáÂÄÀÅÃÁæÆçÇéèêëÉÊËÈïîìíÏÎÌÍñÑöôóòõÓÔÖÒÕùûüúÜÛÙÚÿ',
'aaaaaaaaaaaaaacceeeeeeeeiiiiiiiinnoooooooooouuuuuuuuy');
}
edit dd32 : ajout bbcode
-

Audiofeeline - WRInaute accro

- Messages: 5180
- Inscription: Jeu Oct 20, 2005 19:47
Un explorateur de fichier parfois bien pratique :
- Code: Tout sélectionner
<?
//Explorer PHP By Scorpion
function present($chaine,$mot,$sep)
{
$tab=split($sep,$chaine);
$rep=FALSE;
for ($j=0;$j<count($tab);$j++)
{
if ($tab[$j]==$mot) {$rep=TRUE;break;}
}
return $rep;
}
function affperm($fichier)
{
$perm=fileperms($fichier);
$nbr1=substr($perm,-1,1);
return(true);
}
function affperm2($fichier)
{
$perm=fileperms($fichier);
$nbr1=substr($perm,-1,1);
$r="-";$w="-";$x="-";
if ($nbr1>=6 and $nbr1<=9)
$r="r";
if ($nbr1==4 or $nbr1==5 or $nbr1==8 or $nbr1==9)
$w="w";
if ($nbr1==3 or $nbr1==5 or $nbr1==7 or $nbr1==9)
$x="x";
return $r." ".$w." ".$x;
}
function affdate($fichier)
{
$datef=filemtime("$fichier");
if (date("d/m/Y",$datef)==date("d/m/Y",time()))
{
$datef="Aujourd'hui à".date(" H:i:s",$datef);
}
else
{
$datef=date("d/m/Y à H:i:s",$datef);
}
return $datef;
}
function afftaille($t)
{
if ($t>=10000 and $t<1000000)
{
$t=(int)($t/1000);
$tlib="$t Ko";
}
else if ($t>1000000 and $t<1000000000)
{
$t=(int)($t/10000);
$t=$t/100;
$tlib="$t Mo";
}
else if ($t>1000000000)
{
$t=(int)($t/10000000);
$t=$t/100;
$tlib="$t Go";
}
else
{
$tlib="$t Bytes";
}
return $tlib;
}
function autoinstall($rep)
{
@copy("index.php",$rep."/index.php");
}
$tab_ext=array(
array("PHP","#006699","Fichier PHP"),
array("PHPS","red","Code source"),
array("HTM,HTML","#00219A","Fichier HTML"),
array("TXT","#000000","Fichier Texte"),
array("DOC","#0066FF","Fichier Word"),
array("EXE","#6600EE","Fichier exécutable"),
array("ZIP,RAR,TAR,GZ,TGZ","#FF6600","Fichier compressé"),
array("JPG,JPEG,GIF,BMP","#00BBFF","Image"),
array("MPG,MPEG,AVI","#008000","Vidéo"));
if ($action=="install" and !empty($rep))
{
if (!@copy("index.php",$rep."/index.php"))
{
echo "<FONT size=1 face=verdana color=red><B>ATTENTION</B> : ERREUR DANS L'INSTALLATION DU SCRIPT !! VERIFIEZ VOS DROITS SUR LES FICHIERS...</FONT><BR><BR>";
}
}
echo "<HTML><HEAD><STYLE>A {TEXT-DECORATION: none}A:visited {TEXT-DECORATION: none}A:hover {TEXT-DECORATION: underline}TD{FONT-FAMILY:verdana;FONT-SIZE:10}BODY{FONT-FAMILY:verdana;FONT-SIZE:10}</STYLE><TITLE>Explorer PHP</TITLE></HEAD><BODY>";
$mydir=dir("."); // récupère le répertoire du script
$mydir->read();
$rep=""; //variable contenant les répertoires
$fic=""; //variable contenant les fichiers
$rep=$rep."<TR height=20><TD><FONT FACE=wingdings size=4>1</FONT></TD><TD><A HREF=\"..\"><FONT color=green>..</FONT></A></TD><TD> </TD></TR>\n";
while($entry=$mydir->read()) // on lit chaque fichier ou répertoire jusqu'à ce qu'il n'y en ai plus
{
if (($entry!="index.php" and substr($entry,0,1)!="."))
{
if (filetype($entry)=="dir") // on teste si le nom de fichier est un répertoire ou non
{
$perm=fileperms("$entry");
$nbr1=substr($perm,-1,1);
$perm=fileperms("$entry/index.php");
$nbr2=substr($perm,-1,1);
if (filesize("index.php")!=filesize("$entry/index.php") && affperm("$entry"))
{
$link="<A HREF=\"index.php?action=install&rep=$entry\"><FONT color=#0B163D face=wingdings size=4>:</FONT></A>";
}
else
{
$link="<FONT FACE=wingdings size=4 color=red>ý</FONT>";
}
if (filesize("index.php")==filesize("$entry/index.php"))
$link="";
$perm=affperm2($entry);
$rep=$rep."<TR height=20><TD><FONT FACE=wingdings size=4>0</FONT></TD><TD><A HREF=\"$entry/\"><FONT color=green>$entry</FONT></A></TD><TD>$link</TD><TD align=center>N.A</TD><TD> </TD><TD>Répertoire</TD><TD> </TD><TD align=center>$perm</TD><TD> </TD><TD>".affdate($entry)."</TD></TR>\n";
}
else
{
$tlib=afftaille(filesize($entry)); // convertion de la taille du fichier
$extention2=substr($entry,-1,1); // prends le dernier caractère (pour voir si fichier est un backup)
$extention=strtoupper(str_replace(".","",strrchr($entry,".")));
$couleur="#545A72";
$description="Fichier $extention";
for ($i=0;$i<count($tab_ext);$i++)
{
if (present($tab_ext[$i][0],$extention,","))
{
$couleur=$tab_ext[$i][1];
$description=$tab_ext[$i][2];
break;
}
}
if ($extention2=="~")
{
$couleur="#545A72";
$description="Fichier Backup";
}
$perm="<FONT FACE=wingdings size=4 color=red>ý</FONT>";
if (is_writable("$entry"))
{
$perm="<FONT FACE=wingdings size=4 color=green>þ</FONT>";
}
$perm=affperm2($entry);
$fic=$fic."<TR height=20><TD align=center><FONT FACE=wingdings size=4 COLOR=$couleur>2</FONT></TD><TD><A HREF=\"$entry\"><FONT COLOR=$couleur>$entry</FONT></A></TD><TD width=20> </TD><TD><FONT COLOR=$couleur> $tlib</FONT></TD><TD width=20> </TD><TD><FONT COLOR=$couleur>$description</FONT></TD><TD width=20> </TD><TD align=center>$perm</TD><TD width=20> </TD><TD><FONT COLOR=$couleur>".affdate($entry)."</FONT></TD></TR>\n";
}
}
}
$mydir->close();
echo "<TABLE>";
echo "<TR><TD colspan=3> </TD><TD align=center>Taille</TD><TD> </TD><TD align=center>Description</TD><TD> </TD><TD align=center>Permissions</TD><TD> </TD><TD align=center>Dernier accès</TD></TR>";
echo "$rep$fic</TABLE></BODY></HTML>"; // on affiche les répertoires, puis les fichiers.
$t=afftaille(diskfreespace("/"));
echo "<BR><BR><P align=center>.: Explorer PHP | Espace disque libre : $t :.";
?>
50 messages • Page 3 sur 4 • 1, 2, 3, 4
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Alerte Google Dance
- Participez au projet 3x3 !
- Rumeurs autour de Google Tunes
- Tout savoir sur le nouveau Yahoo!
- La plateforme de blogs TextCube rachetée par Google
- La Google Deskbar API
- Google Music Trends
- Annonces illustrées Google Adsense
- Des bons outils pour les spécialistes des Web Analytics
- Analyse complète du PageRank de Google
- Scripts php
- Fusionner 2 scripts php .
- Planification de scripts PHP ?
- site de scripts php anglophone
- Recherche Scripts php de commentaire !
- Un site de scripts php, votre avis ?
- Les meilleures sources de scripts php
- recherche de scripts php Petites annonces
- Liens à travers scripts php et pagerank...
- Questions concernant des scripts php
- Recherche scripts php pour site d'humour
- Scripts Php dans les templates de phpBB
- Les scripts à jéjé: Partage de la mémoire en php
- Morceaux de phrases répétés: autorisé ou pas?
- participez à un projet open source
Consultez la description détaillée des produits ou services de Google suivants : Google Music Trends, Google Code
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités





le forum