Erreur dans mon script

Bonjour,

Je souhaiterais afficher une image alors j'ai pensé à passer par l'url du serveur mais j'ai une erreur

<?
echo "<a href='/upload/$_POST['fichier']'></a>";
?>

voici l'erreur

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /mnt/104/sdb/7/8/site.inter/stage/concours_ts.php on line 602

PS: Je ne sais pas si c'est possible de faire ca si vous avez quelque chose de plus clair...
Configuration: Windows 2000
Firefox 2.0.0.14

13 réponses

  1. j'ai beau mettre ca au niveau de l'upload

    chmod("$_SERVER['DOCUMENT_ROOT'].$dossier.$fichier", 0777);

    ca ne fonctionne pas

    ma ligne n'est pas correct?
    0
    1. j'ai réussit a aller a la bonne url par contre je ne sais pas pourquoi l'image ne s'affiche pas est ce un problème de chmod?
      0
      1. donc j'ai adapté ton script ca m'était un / de trop

        donc j'ai fait ca

        $tmp= $_SERVER['DOCUMENT_ROOT'].$dossier."".$fichier;
        echo "<img src=$tmp />";

        et l'url ca répond ca

        http://site.inter.free.fr/mnt/104/sdb/7/8/site.inter/upload/
        0
        1. ca ne m'affiche pas l'image

          alors effetivement il y a l'emplacement
          par contre elle ne se charge pas quand je clik droit et je fais afficher l'image
          ca me répond document non trouvé
          0
          1. Parse error: syntax error, unexpected T_ECHO in

            oui il manque un ; a la ligne d'avant.

            Pour l'afficher:

            $tmp= $_SERVER['DOCUMENT_ROOT'].$dossier."/".$fichier;
            echo "<img src=$tmp />";

            a adapter si ya deja les / ou pas.
            0
            1. Tien regarde a partir de l'upload tu ferais comment pour le faire s'afficher toi?

              $dossier = '/upload/';
              $fichier = basename($_FILES['fichier']['name']);
              $taille_maxi = 5000000;
              $taille = filesize($_FILES['fichier']['tmp_name']);
              $extensions = array('.png', '.jpg', '.jpeg');
              $extension = strrchr($_FILES['fichier']['name'], '.');
              //Début des vérifications de sécurité...
              if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
              {
              $erreur = 'Vous devez uploader un fichier de type png, jpg, jpeg';
              }
              if($taille>$taille_maxi)
              {
              $erreur = 'Le fichier est trop gros...';
              }
              if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
              {
              //On formate le nom du fichier ici...
              $fichier = strtr($fichier,
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
              $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
              if(move_uploaded_file($_FILES['fichier']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].$dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
              {
              echo 'Upload effectué avec succès !';
              }
              else //Sinon (la fonction renvoie FALSE).
              {
              echo 'Echec de l\'upload !';
              }
              }
              else
              {
              echo $erreur;
              }
              0
              1. je fais déja un test lors de l'upload sur le serveur
                donc tinquiete pas pour la sécurité

                et le lien du site serait /upload/

                donc il est bon nom?
                0
                1. Oui si le chemin est exact...

                  Mais verifie avant que tu as bien affaire a une image et pas un script ou autre...
                  0
                  1. Avec ta synthaxe j'ai une autre erreur

                    Parse error: syntax error, unexpected T_ECHO in /mnt/104/sdb/7/8/site.inter/stage/concours_ts.php on line 603
                    0
                    1. Et est ce que ca fonctionnerait je veux dire est ce que ca va faire afficher la photo?
                      0
                      1. Bonjour,

                        <?
                        $nom=$_POST['fichier']
                        echo "<a href=\"/upload/",$nom,"\"></a>";

                        ?>

                        Par contre ça n'engage que moi mais faire un lien avec une variable POST absolument pas vérifiée comme tu le fait, niveau sécurité c'est pas top...
                        0