[PHP] Appeler un fichier
15 messages
• Page 1 sur 1
- nonel
- WRInaute occasionnel

- Messages: 350
- Inscription: 5 Mai 2005
[PHP] Appeler un fichier
Bonjour,
Je désespère d'avoir une nouvelle de mon hébergeur ... pour savoir si il a modifié des paramètres récemment sur ma machine. Avant, tout marché bien.
Donc, je viens vers vous pour vos avis d'expert.
J'ai un fichier qui appelle un fichier à télécharger. Il lance le téléchargement et implémente de +1 un fichier texte (compteur).
Je suis pas un pro en php, et je n'arrive pas à bidouiller ma fonction et surtout à comprendre le message d'erreur.
Voici mon fichier download.php3
Et voici l'erreur que me retourne le serveur.
Le fichier texte est belle et bien présent sur le serveur.
Merci d'avance pour votre aide.
Je désespère d'avoir une nouvelle de mon hébergeur ... pour savoir si il a modifié des paramètres récemment sur ma machine. Avant, tout marché bien.
Donc, je viens vers vous pour vos avis d'expert.
J'ai un fichier qui appelle un fichier à télécharger. Il lance le téléchargement et implémente de +1 un fichier texte (compteur).
Je suis pas un pro en php, et je n'arrive pas à bidouiller ma fonction et surtout à comprendre le message d'erreur.
Voici mon fichier download.php3
- Code: Tout sélectionner
<?
$tel_file = "$file".".txt";
// --------------------------------
$fp = fopen("$tel_file","r+");
$nbtel = fgets($fp,255);
$nbtel++;
fseek($fp,0);
fputs($fp,$nbtel);
fclose($fp);
// --------------------------------
header("Location: $file".".zip"); //On redirige vers le fichier à télécharger (toujours au format ZIP!)
?>
Et voici l'erreur que me retourne le serveur.
- Code: Tout sélectionner
Warning: fopen(.txt) [function.fopen]: failed to open stream: No such file or directory in /home/paysage1/domains/paysage-en-herbe.com/public_html/telechargements/textures/download.php3 on line 4
Warning: fgets(): supplied argument is not a valid stream resource in /home/paysage1/domains/paysage-en-herbe.com/public_html/telechargements/textures/download.php3 on line 5
Warning: fseek(): supplied argument is not a valid stream resource in /home/paysage1/domains/paysage-en-herbe.com/public_html/telechargements/textures/download.php3 on line 7
Warning: fputs(): supplied argument is not a valid stream resource in /home/paysage1/domains/paysage-en-herbe.com/public_html/telechargements/textures/download.php3 on line 8
Warning: fclose(): supplied argument is not a valid stream resource in /home/paysage1/domains/paysage-en-herbe.com/public_html/telechargements/textures/download.php3 on line 9
Warning: Cannot modify header information - headers already sent by (output started at /home/paysage1/domains/paysage-en-herbe.com/public_html/telechargements/textures/download.php3:4) in /home/paysage1/domains/paysage-en-herbe.com/public_html/telechargements/textures/download.php3 on line 11
Le fichier texte est belle et bien présent sur le serveur.
Merci d'avance pour votre aide.
- bozoleclown
- WRInaute impliqué

- Messages: 893
- Inscription: 24 Nov 2005
Comment est initialisé la valeur $tel ?
peux tu faire un
echo $tel;
echo ";".$tel_file;
au début de ton script pour afficher la valeur de ces 2 variables
car à mon sens, ici la valeur $tel n'est pas initialisé...
c'est une valeur que tu récupères via l'url via un formulaire ?
peux tu faire un
echo $tel;
echo ";".$tel_file;
au début de ton script pour afficher la valeur de ces 2 variables
car à mon sens, ici la valeur $tel n'est pas initialisé...
c'est une valeur que tu récupères via l'url via un formulaire ?
- nonel
- WRInaute occasionnel

- Messages: 350
- Inscription: 5 Mai 2005
bozoleclown a écrit:Comment est initialisé la valeur $tel ?
c'est une valeur que tu récupères via l'url via un formulaire ?
Oui, la valeur est via mon URL.
Exemple : *http://...../download.php3?file=nom-du-fichier
e-kiwi a écrit:Warning: fopen(.txt)
ton fichier n'a pas de nom
Ben si.
Dans le fichier php, j'ai : $tel_file = "$file".".txt";
Non ? c'est pas ca le nom du fichier. Il le récupère via l'URL.
Le nom du fichier à télécharger et le nom du fichier texte doivent porter le même nom.
-

UsagiYojimbo - WRInaute accro

- Messages: 8303
- Inscription: 23 Nov 2005
bozoleclown a écrit:remplace $file par $_GET[file]
Et teste-le au préalable, ce sera déjà plus propre.
- Code: Tout sélectionner
if (isset($_GET['file']))
{
$file = $_GET['file'];
//ici ton code qui nécessite d'avoir un fichier en paramètre
}
- nonel
- WRInaute occasionnel

- Messages: 350
- Inscription: 5 Mai 2005
UsagiYojimbo a écrit:Et teste-le au préalable, ce sera déjà plus propre.
- Code: Tout sélectionner
if (isset($_GET['file']))
{
$file = $_GET['file'];
//ici ton code qui nécessite d'avoir un fichier en paramètre
}
roooo ... ca marche !!!!
T'es un chef UsagiYojimbo
Mon code est devenu
- Code: Tout sélectionner
<?
if (isset($_GET['file']))
{
$file = $_GET['file'];
}
$tel_file = "$file".".txt";
// --------------------------------
$fp = fopen("$tel_file","r+");
$nbtel = fgets($fp,255);
$nbtel++;
fseek($fp,0);
fputs($fp,$nbtel);
fclose($fp);
// --------------------------------
header("Location: $file".".zip"); //On redirige vers le fichier à télécharger (toujours au format ZIP!)
?>
e-kiwi a écrit:ah, ton hébergeur a fait une modif oui, il a sécurisé ton serveur Smile tu ne peux plus appeler une variable par $sonnom si c est une variable get, post, cookoie, ou session maintenant, tu dois utiliser les bonnes variables
Et effectivement toi aussi tu as raison.
C'est la source du probleme ... avant le server était en registerGlobal ON
Et forcement pour plus sécurité il on mis en off.
Vous êtes tous des chefs ... merci de votre aide et de votre dévouement à tous les 3.
- bozoleclown
- WRInaute impliqué

- Messages: 893
- Inscription: 24 Nov 2005
En fait dans ton code, le if ne sert à rien
car s'il manque le paramètre dans l'url, le code va planter comme avant
donc soit tu enlèves le if comme tu avais avant (le $_GET en plus)
soit tu fais comme ça pour être encore plus propre
car s'il manque le paramètre dans l'url, le code va planter comme avant
donc soit tu enlèves le if comme tu avais avant (le $_GET en plus)
soit tu fais comme ça pour être encore plus propre
- Code: Tout sélectionner
<?
if (isset($_GET['file']))
{
$file = $_GET['file'];
$tel_file = "$file".".txt";
// --------------------------------
$fp = fopen("$tel_file","r+");
$nbtel = fgets($fp,255);
$nbtel++;
fseek($fp,0);
fputs($fp,$nbtel);
fclose($fp);
// --------------------------------
header("Location: $file".".zip"); //On redirige vers le fichier à télécharger (toujours au format ZIP!)
}
else{
echo "il manque le paramètre file";
}
?>
- nonel
- WRInaute occasionnel

- Messages: 350
- Inscription: 5 Mai 2005
Re: [PHP] Appeler un fichier
Bonjour,
Je dépoussière un peu mon topic puisque une fois de plus mon hébergeur m'a changé de machine et que je n'ai aucune réponse de sa part sur les changements qu'il aurait pu faire sur celle-ci.
Mon script précédemment cité et que je recopie ci-dessous, ne fonctionne à nouveau plus.
Lorsque je clique sur le lien pour lancer le téléchargement le fichier, il m'affiche le contenu de mon fichier PHP. Le téléchargement n'est donc pas lancé.
Avez vous une solution ?
Merci d'avance.
Je dépoussière un peu mon topic puisque une fois de plus mon hébergeur m'a changé de machine et que je n'ai aucune réponse de sa part sur les changements qu'il aurait pu faire sur celle-ci.
Mon script précédemment cité et que je recopie ci-dessous, ne fonctionne à nouveau plus.
Lorsque je clique sur le lien pour lancer le téléchargement le fichier, il m'affiche le contenu de mon fichier PHP. Le téléchargement n'est donc pas lancé.
- Code: Tout sélectionner
<?
if (isset($_GET['file']))
{
$file = $_GET['file'];
$tel_file = "$file".".txt";
$fp = fopen("$tel_file","r+");
$nbtel = fgets($fp,255);
$nbtel++;
fseek($fp,0);
fputs($fp,$nbtel);
fclose($fp);
header("Location: $file".".zip");
}
else{
echo "Desole, une erreur est survenue. Merci de nous contacter pour nous informer de ce probleme, que nous corrigerons dans les meilleurs delais.";
}
?>
Avez vous une solution ?
Merci d'avance.
- bozoleclown
- WRInaute impliqué

- Messages: 893
- Inscription: 24 Nov 2005
Re: [PHP] Appeler un fichier
quelle est l'extension du fichier ?
toujours download.php3 ?
peut-etre que ton hébergeur ne supporte plus les extensions .php3 ?
du coup essaie de passer en .php
toujours download.php3 ?
peut-etre que ton hébergeur ne supporte plus les extensions .php3 ?
du coup essaie de passer en .php
15 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Appeler une fonction php
- Appeler script php à partir de javascript
- Comment appeler un lien en php de cette façon ???
- Appeler du PHP dans une page HTML
- Appeler une fonction PHP avec 2 variables dans un prog JAVA script
- fichier.php.jpg == fichier.php sous free !!
- upload de fichier via PHP : taille variable du fichier créé
- empécher l'ajout d'un fichier php au bout d'une url php
- PHP - Vider un fichier texte par PHP tous les 24 heure ?
- Appeler une frame en javascript
- Article sur le fichier .htaccess - 11-01-2003
- Déclarer son fichier sitemap dans le fichier robots.txt - 16-04-2007
- Sortie de GoogleStats v2.01 - 02-03-2003
- Suite de l'article sur le fichier .htaccess : l'URL rewriting - 16-01-2003
- Googlebot analyse certains codes JavaScript - 02-05-2006
- Sitemaps : protocole commun pour Google, Yahoo et Live Search - 16-11-2006
- Comment gérer simplement les sitemaps de plusieurs sites au même endroit - 28-02-2008
- Téléphoner gratuitement par Internet avec Gmail - 26-08-2010
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

