1. ✅ Apprenez une METHODE qui marche pour votre SEO ! Formation à distance avec Olivier Duffez et Fabien Facériès + aide pour prise en charge du financement
    Rejeter la notice

php:télécharger un fichier

Discussion dans 'Débuter en référencement' créé par dali0807, 7 Juin 2013.

  1. dali0807
    dali0807 Nouveau WRInaute
    Inscrit:
    7 Juin 2013
    Messages:
    1
    J'aime reçus:
    0
    bonjour à tous,
    voici mon problème, j'essaye de donner l'accès au téléchargement d'un fichier dans un répertoire du serveur (/public_ftp), le problème est que l'accès à ce répertoire est interdit malgré j'ai donné le droit de lecture et d'exécution à tout le monde. par contre si je place le fichier dans le répertoire /public_html, le téléchargement est lancé.
    j'utilise la fonction readfile pour cela, est ce que je dois passer par un téléchargement en utilisant les paramètres ftp ou c'est possible déjà avec cette fonction ?
    voici le code que j'utilise :
    //Fichier download.php : lien vers le fichier de téléchargement download_files.php
    <a href="download_files.php?filename=MABIA-REGION Software.rar" title="Download MABIA-REGION"><img src="images/download.png"/></a>
    //Fichier download_files.php
    <?php
    // désactive le temps max d'exécution
    set_time_limit(0);
    if (empty($_GET["filename"]))
    {
    header("HTTP/1.1 404 Not Found");
    exit;
    }
    // le nom doit être un nom de fichier
    if(basename($_GET["filename"]) != $_GET["filename"])
    {
    header("HTTP/1.1 400 Bad Request");
    exit;
    }
    // vérifie l'existence et l'accès en lecture au fichier
    $filename = $_SERVER['DOCUMENT_ROOT']."../public_ftp/".$_GET["filename"];
    if (!file_exists($filename))
    {
    header("HTTP/1.1 404 Not Found");
    exit;
    }
    if (!is_file($filename) || !is_readable($filename))
    {
    header("HTTP/1.1 404 Not Found");
    exit;
    }
    //telechargement
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename=' . basename($filename));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($filename));
    readfile($filename);
    ?>

    merci pour votre aide
     
  2. f_trt
    f_trt WRInaute impliqué
    Inscrit:
    17 Septembre 2005
    Messages:
    970
    J'aime reçus:
    0
    En résumé, si lorsque tu places ton fichier dans un autre repertoire ça fonctionne.
    Tu peux donc te dire que le code fonctionne.

    Tu dis avoir mis tous les droits, c'est sur le repertoire ou sur le fichier ?
    Pour moi il te faut explorer la piste des proprietaires et groupes sur le fichier ou le repertoire.

    Quand la fonction readfile se réalise, elle l'est pas le biais d'un groupe d'utilisateur et d'un utilisateur qui ne doit pas avoir les droits.
    Creuse de ce côté là.
    Tu peux ainsi utiliser les commandes au moins provisoirement :
    chmod 777 sur ton repertoire et tes fichiers concernés
    chown et chgrp pour mettre tes fichiers et tes repertoires a un proprietaire qui aurait les droits.

    Souvent readfile travail en tant qu'utilisateur www-data et ce même groupe, mais c'est un exemple cela dépend des distributions
     
Chargement...
Similar Threads - php télécharger fichier Forum Date
télécharger une image avec php Développement d'un site Web ou d'une appli mobile 8 Février 2018
Télécharger les images dans une base MySQL avec PHP Sous WordPress Développement d'un site Web ou d'une appli mobile 21 Décembre 2012
Script php ou js qui permet de telecharger un video youtube,dailymotion via son url sur se Développement d'un site Web ou d'une appli mobile 4 Mai 2012
Serveur dédié : Script PHP 0 octet qui veux se telecharger lui même Administration d'un site Web 12 Novembre 2011
réécrire /categorie.php?id=xxx en /categorie/id URL Rewriting et .htaccess 13 Septembre 2020
Rediriger Index.php vers racine URL Rewriting et .htaccess 15 Août 2020
Galère pour supprimer index.php URL Rewriting et .htaccess 12 Août 2020
PHP Redis : Comment indexer les clés ? Développement d'un site Web ou d'une appli mobile 1 Août 2020
PHP session perso : session_start() en erreur. Développement d'un site Web ou d'une appli mobile 27 Juillet 2020
Quelle doc sur PHPRedis ? Développement d'un site Web ou d'une appli mobile 24 Juillet 2020