Upload de fichiers chez Free

Eléphanteau du PHP | 17 Messages

15 août 2005, 19:53

Bonjour, j'ai suivi a la lettre le tuto de phpfrance, et j'ai cherche sur google et sur les fora mais je n'ai pas trouvé de reponses claires à ma question :

je suis sur un ftp free, et je veux creer une page internet toute simple ou l'utilisateur se connecte, choisis un fichier sur son disque et l'upload sur le ftp dans un dossier, rien de plus

mais voila apres le tuto il me repond ca :
Warning: move_uploaded_file(http://noxou.free.fr/Photos/_.jpg): failed to open stream: HTTP wrapper does not support writeable connections. in /var/www/free.fr/1/b/noxou/Photos/30.php on line 30

Warning: move_uploaded_file(): Unable to move '/var/www/free.fr/1/b/noxou/phpmLCzhb' to 'http://noxou.free.fr/Photos/_.jpg' in /var/www/free.fr/1/b/noxou/Photos/30.php on line 30
peut on faire un tel site chez free ? avec d'autres methodes si besoin ?

merci d'avance

Eléphant du PHP | 199 Messages

15 août 2005, 19:58

oui on peut maintenant envoi nous ton code qu'on voit l'erreur

Eléphanteau du PHP | 17 Messages

15 août 2005, 20:30

j'ai copié l'exemple du tuto, j'ai juste modifié le repertoire de copie en adresse absolue
<?php

if(isset($_FILES['photo']))
{
  // params
  unset($erreur);
  $extensions_ok = array('png', 'gif', 'jpg', 'jpeg', 'bmp', 'rar', 'zip');
  $taille_max = 80000000;
  $dest_dossier = 'http://noxou.free.fr/Photos/';
  // vérifications
  if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
  {
    $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';  
  }
  elseif( file_exists($_FILES['photo']['tmp_name']) 
          and filesize($_FILES['photo']['tmp_name']) > $taille_max)
  {
    $erreur = 'Votre fichier doit faire moins de 80Mo !';
  }
  // copie du fichier
  if(!isset($erreur))
  {
    $dest_fichier = basename($_FILES['photo']['name']);
    // formatage nom fichier
    // enlever les accents
    $dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    // remplacer les caracteres autres que lettres, chiffres et point par _
    $dest_fichier = preg_replace('/([^.a-z0-1]+)/i', '_', $dest_fichier);
    // copie du fichier
    move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
  }
}

?>
<html>
<body>
<!-- Erreur ? -->
<?php 
if(isset($erreur)){
  echo '<p>', $erreur ,'</p>';
}
?>
<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le  enctype="multipart/form-data" -->
<form method="POST" action="30.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="500000" /> 
<fieldset>
<legend>Envoi de fichiers</legend>
<!-- champs d'envoi de fichier, de type file -->
<p><label for="photo">Photo :</label><input type="file" name="photo" /></p>
<p><label for="photo_2">Photo 2 :</label><input type="file" name="photo_2" /></p>
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
</body>
</html>
sinon j'avais esayé un autre plus simple : le html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Photos du Mariage</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       <link rel="stylesheet" media="screen" type="text/css" title="Mariage" href="mariage.css" />
   </head>
   <body>
	<form enctype="multipart/form-data" action="uploader.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
   </body>
</html>
le php :
<?php
 $target_path = "uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
     echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded";
} else{
     echo "There was an error uploading the file, please try again!";
}
?>
j'ai cree un repertoire uploads mais il me dit impossible de copier le fichier

merci et dsl pour les quote un peu long

Mammouth du PHP | 19672 Messages

15 août 2005, 22:04

Vérifie les droits en écriture du répertoire de destination (chmod)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 17 Messages

15 août 2005, 23:43

vi mais je suis pas mon propre hebergeur, c'est free qui a la ftp

Mammouth du PHP | 19672 Messages

15 août 2005, 23:46

Oui, j'avais saisi, mais est-ce que tu as mis les droits en écriture sur le répertoire de destination (chmod 777) :?: C'est ça ma question
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 17 Messages

16 août 2005, 01:30

ok pardon j'avais mal saisi
j'ai donc regardé le chc est a 700, pour tester je tente de le mettre a 777 ou 757 etc mais a chaque fois cute ftp me dit
The command was not understood by the server. ERROR:> Syntax error, command unrecognized.
j'ai donc testé avec ws ftp et il me repond
site chmod 777 /Photos
500 SITE not understood
la meme chose quoi :)

Eléphant du PHP | 199 Messages

16 août 2005, 07:40

ba moi avec filezilla et free le chmod a 777 est bon !!!

Eléphanteau du PHP | 17 Messages

16 août 2005, 10:18

j'ai donc teste avec Filezilla, il m'indique pas d'erreur mais par contre il ne modifie pas le chmod, il me dit ok et quand je reclique dessus il est tjs a 700

Eléphanteau du PHP | 44 Messages

16 août 2005, 11:14

La function upload chez free est desactiver ;)

Eléphanteau du PHP | 17 Messages

16 août 2005, 16:50

donc ya un autre moyen ?

HD
Mammouth du PHP | 1181 Messages

16 août 2005, 16:58

tu peux les uploader dans un ftp chez mutli*mania par exemple et faire tes liens (du site chez free) de facon à les recuperer de chez multi

Eléphant du PHP | 199 Messages

16 août 2005, 18:32

bah c'est bizar chez moi la fonction marche nikel j'ai aussi free !!

Eléphant du PHP | 199 Messages

16 août 2005, 18:37

Ton post mais le voir en minuscule !!!

Eléphanteau du PHP | 17 Messages

16 août 2005, 18:56

pardon ?