rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Adresse serveur distant upload fichier php

baba_cool, le mardi 11 décembre 2007 à 21:45:06
Bonjour,

J'ai créé en php un repertoire téléphonique, et j'y ai ajouté la possibilié de mettre une photo pour chaque contact... tout marche nickel en local, je choisi l'image sur le PC, la renomme avec l'id du contact et la place dans le repertoire prévu... Mais dés que je met ca sur internet, ca bug... je pense que le probleme viens du chemin qui indique ou mettre le fichier:

en local:
$upfile = 'C:/Program Files/EasyPHP1-8/www/repertoire/options/photos/avatars/'.$_F­ILES['userfile']['name'];

Distant:
$upfile = '/hsphere/local/home/babacool/babacool.fr/repertoire/photos/­avatars/'.$_FILES['userfile']['name'];

J'ai bien mis 777 en CHMOD sur le repertoire "avatars"...

Y a t'il moyen de récupérer quelques part le chemein distant ???
Configuration: Windows XP
Firefox 2.0.0.4
Répondre à baba_cool  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
le père, le mercredi 12 décembre 2007 à 00:10:23
Bonsoir

$_SERVER['DOCUMENT_ROOT'] te donne le chemin de la racine de ton site - distant ou local

Tu utilises bien move_uploaded_file pour déplacer et renommer le fichier téléchargé ?
Testes-tu si la fonction te rend true ou false ?
Peux-tu donner le morceau de script concernant le téléchargement ?
Répondre à le père

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
baba_cool, le mercredi 12 décembre 2007 à 05:10:38
voila mon script:

$upfile = '/hsphere/local/home/babacool/babacool.fr/repertoire/photos/­avatars/'.$_FILES['userfile']['name'];
if(file_exists("$img"))
{
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
{
if (!move_uploaded_file($_FILES['userfile']['tmp_name'],$upfile))
{
echo "ne peut pas deplacer dans le repert cible SERVEUR DISTANT";
exit;
}
}
else
{
echo "Probleme lors du telechargement du fichier ";
exit;
}
}
Répondre à baba_cool

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
le père, le mercredi 12 décembre 2007 à 08:11:36
Bonjour

Qu'est-ce que c'est ton $img ?
Obtiens-tu un message d'erreur ou aucun ?
Ton nom de fichier contient-il des caractères exotiques (espaces, lettres accentuées au autres) qui seraient acceptées par ton XP mais pas par l'OS de ton hébergeur ?
Répondre à le père

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 baba_cool, le mercredi 12 décembre 2007 à 12:10:13
C'est bon grace à ton aide, ca marche nickel :) !!!

en plus, j'ai fait tout un systeme pour pour voir faire tourner le script en local ou en distant, mais la, plus besoin !!! c'est genial !!!

je met le script complet pour ceux que ca peut aider ou interesser... je pense pouvoir l'ameliorer, la j'ai un peu bricolé, mais ca marche, c'est le principal... des que j'ai un peut de temps, je le fait plus propre...

Merci encore !!


=> SCRIPT QUI PLACE UNE IMAGE SUR LE SERVEUR (local ou distant :) ), SUPPRIME L'ANCIENNE SI PRESENTE PUIS LA RENOMME EN SE SERVANT DE LA BASE DE DONNEES :

<html>
<title>photos2</title>
<? include "../admin/connexion.php"; ?>
<body>
<div align="center">


<? // Verif du process de téléchargement
if ($_FILES['userfile']['error'] > 0)
{
echo "probleme:";
switch ($_FILES['userfile']['error'])
{
case 1: echo "erreur n°1"; break ;
case 2: echo "erreur n°2"; break ;
case 3: echo "erreur n°3"; break ;
case 4: echo "erreur n°4"; break ;
}
exit;
}

// Récupération des variables
$id = $_POST['id'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$img = ''.$id.'' ;

//Chemin du repertoire
$a = $_SERVER['DOCUMENT_ROOT'];
$b = "/repertoire/photos/avatars/";
$rep = "$a$b";


// place le fichier sur le serveur

$c = $_FILES['userfile']['name'];
$upfile = "$rep$c";
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
{
if (!move_uploaded_file($_FILES['userfile']['tmp_name'],$upfile))
{
echo "ne peut pas deplacer dans le repert cible";
exit;
}
}
else
{
echo "possible file attack ";
exit;
}


//affichage du nom de l'image originale*************************************************************************

echo "nom du fichier original:<br>";
echo "*** ";
echo $_FILES['userfile']['name'];
echo " ***<br><br>";


//verification et destruction du fichier si deja present pour changer d'avatar**********************************

if(file_exists("$rep/$img.jpg"))
{
echo "modification de l'avatar de $prenom $nom effectuée <br><br>";
unlink("$rep/$img.jpg");
}


//Renomme le fichier avec le nom/prenom du contact**************************************************************

if(@rename("$upfile","$rep/$img.jpg"))
{
echo "Le fichier a été renommé en $img.jpg.<br><br>";
//echo "dans le repertoire $upfile";
}
else
{
echo "Erreur";
}
?>

<form method="post" action="../general/fiche.php">
<input type="hidden" name="id" value="<? echo ''.$id.'' ; ?>" />
<input type="hidden" name="nom" value="<? echo ''.$nom.'' ; ?>" />
<input type="hidden" name="prenom" value="<? echo ''.$prenom.'' ; ?>" />
<input type="submit" value="valider" />
</div>
</form>
</body>
</html>


PROCHIANE ETAPE, REDIMENSIONNER LE FICHIER POUR OPTIMISER LA PLACE SUR LE SERVEUR ET LES TEMPS D'AFFICHAGE.
Répondre à baba_cool
Logiciels pertinents trouvés dans les téléchargements
Télécharger WAMP Server 2.0cWAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de...Catégorie: Serveurs
Licence: Freeware/gratuit
Télécharger YoYoCut 2.5.0.204YoYoCut - YoyoCut est un logiciel de découpe de fichiers, permettant de découper n'importe quel type de fichier (> 100 octets), en...Catégorie: Gestion de fichiers
Licence: Freeware/gratuit
Télécharger TorPark 2.0.0.2aTorPark - TorPark est un logiciel de surf anonyme, dérivé de la version portable du célèbre navigateur Mozilla Firefox. Il s'agit d'un...Catégorie: Anonymat/Confidentialité
Licence: Freeware/gratuit
Télécharger Putty 0.59Putty - Putty est un client SSH et Telnet gratuit pour plates-formes Windows 32 bits. Il permet de se connecter à un serveur distant...Catégorie: Telnet/SSH
Licence: Open Source
Plus de logiciels gratuits sur « Adresse serveur distant upload fichier php »