Bonjour à tous,
Ma question peut sembler bête, mais je tourne en rond depuis quelques jours.
Description de mon objectif :
J'ai sur mon site e-commerce une génération de fichiers PHP issus de mes articles. Je souhaite garder ces articles qui ne sont plus disponibles en ligne jusqu'à mon prochain réapprovisionnement du fournisseur. Pour ce faire, j'utilise un fichier Excel dans lequel j'ai le nom de ma page.
Exemple :
polo-fred-perry-M1200-fille.php
polo-ben-sehrman-logo-male.php
...
je change le header de ces pages comme suit
1 2 3 4
| <?php
header('Status: 301 Moved Permanently',false, 301);
header('Location: http://www.idols.fr);
?> |
Afin d'obtenir ce résultat j'ai fait des concaténations de cellules dans mon fichier Excel et ensuite je copie le résultat dans un fichier .bat qui me génère le fichier PHP ou html

Ensuite le colle le résultat de la colonne G dans un fichier texte que je renomme en .bat

Le code utilisé est sur une seule ligne, pour plus de visibilité je suis revenu à la ligne dans l'éditeur de texte
Fichier test2.bat:
1 2 3 4 5
| @echo off
echo ^<?php^ >chaussure-fredperry-bleu.php
echo ^header('Status: 301 Moved Permanently',false, 301);^ >>chaussure-fredperry-bleu.php
echo ^header('Location: http://www.idols.fr');^ >>chaussure-fredperry-bleu.php
echo ^?^> >>chaussure-fredperry-bleu.php |
Résultat du fichier test2.bat :
et j'obtiens un fichier PHP contenant le code
1 2 3 4
| <?php
header('Status: 301 Moved Permanently',false, 301);
header('Location: http://www.idols.fr);
?> |
Dorénavant, je souhaiterai modifier mes fichiers créés PHP avec ceci en une seule ligne :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="FR"><style type="text/css" media="all">@import "NeD2.css";</style><head><title>titre de la page a modifier</title><meta name="description" content="explication de la page à modifier" /><meta name="keywords" content="mots clé à moficier"/><meta http-equiv="content-language" content="fr" /></head><body><?php include("iframe2.php");?></body></html>
voici le code en plusieurs lignes pour plus de visibilité :
1 2 3 4 5 6 7 8 9 10 11 12 13
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="FR">
<style type="text/css" media="all">@import "NeD2.css";</style>
<head>
<title>titre de la page a modifier</title>
<meta name="description" content="explication de la page à modifier" />
<meta name="keywords" content="mots clé à moficier"/>
<meta http-equiv="content-language" content="fr" />
</head>
<body>
<?php include("iframe2.php");?>
</body>
</html> |
Comment puis je faire dans mon nouveau fichier bat un "echo" de ma ligne entière sans qu'il y est des erreurs ?
1 2
| @echo off
echo ^<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="FR"><style type="text/css" media="all">@import "NeD2.css";</style><head><title>titre de la page a modifier</title><meta name="description" content="explication de la page à modifier" /><meta name="keywords" content="mots clé à moficier"/><meta http-equiv="content-language" content="fr" /></head><body><?php include("iframe2.php");?></body></html>^ >test2.html |
Existe-t-il un moyen plus simple de générer mes fichiers PHP ?
Vous l'aurez compris, je ne suis pas programmeur, quand j'ai montré ma méthode à un client au magasin qui est informaticien , il m'a dit que j'étais complètement cinglé de faire cela avec Excel de cette manière, cependant il n'a pas été capable de m'aider donc ...
j'ai trouvé sur ce site une fonction qui permet de générer un fichier excel
http://boisgontierjacques.free.fr/pa...s.htm#Ecriture
1 2 3 4 5 6 7 8 9 10 11 12 13
| Sub ExportTxtChamp()
repertoire = ThisWorkbook.Path
Open repertoire & "\x.txt" For Output As #1
Set champ = [C1].CurrentRegion
For lig = 1 To champ.Rows.Count
ligne = ""
For col = 1 To champ.Columns.Count
ligne = ligne & champ.Cells(lig, col) & ";"
Next col
Print #1, Left(ligne, Len(ligne) - 1)
Next lig
Close #1
End Sub |
Cela se rapproche de mon objectif : il faudrait que j'imprime chaque cellule dans un fichier texte différent mais la tâche m'est difficile avec le code, je n'y comprends pas grand chose.
Je suis preneur de toutes suggestions, conseils ..
Voilà, merci pour votre aide.
Partager