Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/01/2012, 10h36   #1
Membre du Club
 
Inscription : août 2004
Messages : 216
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 216
Points : 44
Points : 44
Par défaut Appelle d'une fonction avec paramètre dans <a href>

Bonjour à tous,
je suis complètement novice en PHP, j'ai une fonctionnalité à développer et j'ai du mal à m'en sortir.

Sur un site utilisant des templates php (fichiers tpl), je dois ajouter un lien qui zip une liste de fichier et permet de télécharger le zip

J'ai trouvé une fonction php qui fait le zip, que j'ai placé dans un fichier (zip.php)
Code :
1
2
3
4
5
 
<?php
function create_zip($files = array(), $destination = ' ', &overwrite = false)
{...}
?>
Le code du fichier download.tpl est le suivant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
{tr}You can now proceed downloading the file{/tr}:
<table border="0">
<tr><td>{tr}File description{/tr}:</td><td><b>{$finfo.description}</b></td></tr>
<tr><td>{tr}Uploaded on{/tr}:</td><td><b>{$finfo.upload_date}</b></td></tr>
{$plugins}
 
{if count($files) > 1 }
<td colspan="2" align="center"><a href="[ici je ne sais pas comment appeler la fonction create_zip du fichier zip.php]'') ">
  <img src="{tpl file=/img/downloadAll.png}" border="0"><br />
  {tr}Download all files{/tr}</a></td></tr>
{/if}
 
{foreach from=$files item=f key=k}
<tr><td>{tr}File name{/tr}:</td><td><b>{$f.name}</b></td></tr>
<tr><td>{tr}File size{/tr}:</td><td><b>{$f.size|fsize_format}</b></td></tr>
<td colspan="2" align="center"><a href="{$script}?action=g&fid={$k}">
  <img src="{tpl file=/img/download.png}" border="0"><br />
  {tr}Download file{/tr}</a></td></tr>
{/foreach}
</table>


Ma question est de savoir comment appeler cette fonction avec les paramètres, dans la partie <a href = "[ici je ne sais pas comment appeler la fonction create_zip du fichier zip.php]">

Il faudrait mettre un include du fichier test.php mais dans ce fichier tpl je ne trouve pas la syntaxe. Même problème pour appeler la fonction.

Merci de votre aide.
flzox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 10h05   #2
Invité régulier
 
Femme Claire
Étudiant
Inscription : janvier 2012
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Claire
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 33
Points : 7
Points : 7
tu as essayer sa?

" include('contenu.inc.php')"
rockncaly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 11h04   #3
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Salut,

Tu ne peux pas directement appeler de la fonction dans la balise a cependant tu peux envoyer tes paramètres sous forme des variables dans une url.

le lien aura la forme
Code :
1
2
 
<a href="telechargement-zip.php?file[]=nom-fichier&parametreX=x&parametreY=Y">Texte de téléchargement</a>
Soit un fichier de téléchargement telechargement-zip.php contenant ta fonction create_zip ou l'incluant

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
//telechargement-zip.php
function create_zip($files = array(), $destination =  ' ', &overwrite = false)
{
  //contenu de la fonction
}
 
//récupération des valeurs a passer à la fonction
$files = array();
$destination = 'une-destination';
$repertoireFichiers = 'repertoire-des-fihiers-a-telecharger';
$extensionsValide = array( 'pdf', 'jpg', 'png' )
 
if( isset( $_GET['file'] ) )
{
   foreach( $_GET['file'] as $fichier_a_zipper )
  {
     $infos_fichier = pathinfo( $fichier_a_zipper );
     $fichier_a_zipper = $infos_fichier['basename'];
     if( in_array( $infos_fichier['extension'], $extensionsValide ) )
       $files[] = $repertoireFichiers.'/'.$fichier_a_zipper;
   }
}
 
//appel de la fonction
create_zip( $files, $destination );
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 14h18   #4
Membre du Club
 
Inscription : août 2004
Messages : 216
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 216
Points : 44
Points : 44
Salut,
Alors en effet,
include ("le chemin du fichier php"); fonctionne bien, mais s'il est entre les balises {php} {/php}

Pour le reste c'est ok

Merci pour votre aide
flzox est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h31.


 
 
 
 
Partenaires

Hébergement Web