Page 1 sur 3

Upload de fichiers chez Free

Posté : 15 août 2005, 19:53
par spiglik
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

Posté : 15 août 2005, 19:58
par Manio 54
oui on peut maintenant envoi nous ton code qu'on voit l'erreur

Posté : 15 août 2005, 20:30
par spiglik
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

Posté : 15 août 2005, 22:04
par Cyrano
Vérifie les droits en écriture du répertoire de destination (chmod)

Posté : 15 août 2005, 23:43
par spiglik
vi mais je suis pas mon propre hebergeur, c'est free qui a la ftp

Posté : 15 août 2005, 23:46
par Cyrano
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

Posté : 16 août 2005, 01:30
par spiglik
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 :)

Posté : 16 août 2005, 07:40
par Manio 54
ba moi avec filezilla et free le chmod a 777 est bon !!!

Posté : 16 août 2005, 10:18
par spiglik
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

Posté : 16 août 2005, 11:14
par Kust
La function upload chez free est desactiver ;)

Posté : 16 août 2005, 16:50
par spiglik
donc ya un autre moyen ?

Posté : 16 août 2005, 16:58
par HD
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

Posté : 16 août 2005, 18:32
par Manio 54
bah c'est bizar chez moi la fonction marche nikel j'ai aussi free !!

Posté : 16 août 2005, 18:37
par Manio 54
Ton post mais le voir en minuscule !!!

Posté : 16 août 2005, 18:56
par spiglik
pardon ?