Erreur dans mon script
drogba7213
Messages postés
1550
Statut
Membre
-
drogba7213 Messages postés 1550 Statut Membre -
drogba7213 Messages postés 1550 Statut Membre -
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...
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
-
-
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... -
Et est ce que ca fonctionnerait je veux dire est ce que ca va faire afficher la photo?
-
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Oui si le chemin est exact...
Mais verifie avant que tu as bien affaire a une image et pas un script ou autre... -
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? -
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;
} -
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. -
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é -
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/ -
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?
-
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? -