par
DBU » 07 sept. 2008, 21:33
Tout d'abord merci pour tes réponses...
Voilà j'ai pris le tuto qui est sur le site pour comprendre comment fonctionne l'ensemble ci dessous le code 30.htlm. (mon hébergeur est FREE)
Avec lui je prends l'erreur :
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access /photo/test.jpg in /mnt/102/sdb/c/f/
www.ascg.football/30.php on line 30
<?php
if(isset($_FILES['photo']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max = 1000000;
$dest_dossier = '/photo/';
// 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 10000Ko !';
}
// 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);
chmod($dest_dossier . $dest_fichier,0640);
}
}
?>
<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>
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
</body>
</html>
Citation:
Faut-il obligatoirement monté sur ce poste un serveur FTP ?
La réponse est non ce n'est pas nécessaire.
Et bien là tu m'intéresser beaucoup peux tu expliquer ? le code est le même ?
D'autre part effectivement j'ai bien lu que EsayPHP ne peut ou ne doit être utiliser en production pourquoi ?
Une question de licence ou de technique (sécu)?
Qu'elle solution "Free", pouvez vous me conseiller à choisir ?
Bruno
Tout d'abord merci pour tes réponses...
Voilà j'ai pris le tuto qui est sur le site pour comprendre comment fonctionne l'ensemble ci dessous le code 30.htlm. (mon hébergeur est FREE)
Avec lui je prends l'erreur :
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access /photo/test.jpg in /mnt/102/sdb/c/f/www.ascg.football/30.php on line 30
[php]<?php
if(isset($_FILES['photo']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max = 1000000;
$dest_dossier = '/photo/';
// 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 10000Ko !';
}
// 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);
chmod($dest_dossier . $dest_fichier,0640);
}
}
?>
<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>
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
</body>
</html>[/php]
[quote]
Citation:
Faut-il obligatoirement monté sur ce poste un serveur FTP ?
La réponse est non ce n'est pas nécessaire.
[/quote]
Et bien là tu m'intéresser beaucoup peux tu expliquer ? le code est le même ?
D'autre part effectivement j'ai bien lu que EsayPHP ne peut ou ne doit être utiliser en production pourquoi ?
Une question de licence ou de technique (sécu)?
Qu'elle solution "Free", pouvez vous me conseiller à choisir ?
Bruno