Page 1 sur 1

Téléchargement de photos

Posté : 07 janv. 2008, 17:32
par ralphcool
bonjour cher tous,

j'ai un veritable problème qui me préocupe.
j'ai un code qui fonctionne très bien quand j'utilise easyphp dans ma machine mais quand je télécharge mes fichiers che z mon hébergeur, ça ne fonctionne pas. j'ai même déja enlevé toutes les autorisations mais je n'y arrive toujours pas. je me demande bien pourquoi ce code marche correctement chez moi mais pas chez mon hébergeur!
voici le code:
  $stock="PHOTO\\";
     $stock2="PHOTO2\\";

     if (!$_FILES['photo']['tmp_name'] or $_FILES['photo']['type']<>'image/pjpeg')
     {$photo="";}
     
      elseif (move_uploaded_file($_FILES['photo']['tmp_name'], $stock2.$_FILES['photo']['name'])) 
{
            
$photo='terrain'.$an.$mois.$jour.$heure.$second.$nombre.'.jpg';
        if(!copy($stock2.$_FILES['photo']['name'], $stock.$photo)) {
    echo "Copie impossible.";
merci de m'aider car j'en ai vraiment besoin
au fait, mon hebergeur est PRODUWEB, au cas ou...

Posté : 07 janv. 2008, 17:39
par Cyrano
Je serais tenté de penser que ce sont tes "\\" qui ne sont pas bien pris sous Linux, (système probable de ton hébergeur)

Pour résoudre ça et que ça fonctionne toujours chez toi, utilise une constante* :
/* On récupère le séparateur de répertoire qui va bien selon l'OS */
define("SR", DIRECTORY_SEPARATOR);

$stock="PHOTO". SR;
$stock2="PHOTO2". SR;
Teste ça et reviens si ça fonctionne toujours pas.

Note * : je préfère redéfinir une constante de 2 lettres plutôt qu'utiliser et devoir retaper toute la variable d'environnement complète à chaque fois

Posté : 07 janv. 2008, 17:39
par @rthur
Bonjour,

As-tu un message d'erreur?
$stock2="PHOTO2\\";
Si ton hébergeur est sous linux, vérifies que le nom de ton répertoire soit bien écrit exactement comme ceci (majuscules/minuscules notamment).
De plus, sous Linux, il faut des slashes et non pas un double antislashes...

Posté : 07 janv. 2008, 17:53
par AB
De plus, sous Linux, il faut des slashes et non pas un double antislashes...
J'avais jamais vu non plus cette syntaxe avec double antislashes :-k

Posté : 07 janv. 2008, 20:01
par @rthur
J'avais jamais vu non plus cette syntaxe avec double antislashes :-k
C'est simplement car les chemin sous Windows se font avec des antislashes or comme l'antislashes est également le caractère d'échappement, on est obligé de le doubler ;)

Posté : 07 janv. 2008, 21:16
par Truc
Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Débuter en PHP".

Posté : 07 janv. 2008, 21:34
par AB
J'avais jamais vu non plus cette syntaxe avec double antislashes :-k
C'est simplement car les chemin sous Windows se font avec des antislashes or comme l'antislashes est également le caractère d'échappement, on est obligé de le doubler ;)
Oui, je voulais dire cette syntaxe pour un hébergeur distant (ceux que j'utilise sont sous linux) :wink: