PHP Warning: move_uploaded_file

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PHP Warning: move_uploaded_file

Re: PHP Warning: move_uploaded_file

par Dr@ke » 28 mars 2010, 00:16

Il est pas mal le lien à salva57.
L'idée d'utiliser la fonction filesize() sur $_FILES['avatar']['tmp_name'] est pas mal.
Et le basename() c'est toujours pratique aussi.

Par contre c'est toujours, tout de même, plus fun de faire son propre script :)

Re: PHP Warning: move_uploaded_file

par Benamour Jr » 27 mars 2010, 23:50

Bizarre en effet, pourtant avant de faire la manip je voyais clairement les .htpasswd et .htaccess via Filezila.
En fait j'ai remarqué que les images apparaissaient mais avec 30 minutes de retard environ... mais heureusement grâce à la manip de Drake c'est maintenant instantané, merci ;)

@salva57 : merci mais mon code est déjà terminé :p

Re: PHP Warning: move_uploaded_file

par salva57 » 27 mars 2010, 23:48

Bonjour,

Moi j'ai utilisé le code donné ici pour l'upload des fichiers sur mon serveur

http://antoine-herault.developpez.com/t ... hp/upload/

Sa marche très bien.

@+

Re: PHP Warning: move_uploaded_file

par Dr@ke » 27 mars 2010, 22:23

C'est vrai, j'ai déjà eu ce problème mais comme AB que pour les fichiers .htaccess.

Re: PHP Warning: move_uploaded_file

par AB » 27 mars 2010, 22:20

Habituellement on force l'affichage des fichiers cachés pour des fichiers type .htaccess

C'est quand même bizarre que des fichiers de type jpeg, jpg, gif ou png soient cachés :-k

Re: PHP Warning: move_uploaded_file

par Dr@ke » 27 mars 2010, 22:04

Menu Filezila -> Serveur -> Sélectionner: Forcer l'affichage des fichiers cachés :wink:

Re: PHP Warning: move_uploaded_file

par Benamour Jr » 27 mars 2010, 21:42

heu ca marche en fait ! le truc c'est que les fichiers existent sur le serveur mais ne sont pas visible via Filezila o.O Pourtant je peux y accéder via leur lien (j'ai vu ça grâce au cpnael de mon hébergeur)! Bizarre bizarre...

Re: PHP Warning: move_uploaded_file

par stealth35 » 27 mars 2010, 21:29

t'as les droits sur ton serveur pour faire ca ?

PHP Warning: move_uploaded_file

par Benamour Jr » 27 mars 2010, 21:25

Je suis en train de monter un script tout bête d'upload d'avatar sur mon site et j'ai cet affreux message d'erreur :

[27-Mar-2010 20:08:17] PHP Warning: move_uploaded_file(avatar/) [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: failed to open stream: Is a directory in /home/estoriai/public_html/profil.php on line 238
[27-Mar-2010 20:08:17] PHP Warning: move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Unable to move '/tmp/phpdAROB6' to 'avatar/' in /home/estoriai/public_html/profil.php on line 238

Quelqu'un pourrait-il m'aider à en trouver l'origine ? Voici mon code :
<?php
if (isset($_FILES['avatar']))
{
	// Vérifier les éventuelles erreurs
	if ($_FILES['avatar']['error'] == 0)
	{
		// Vérifier la taille du fichier
		if ($_FILES['avatar']['size'] <= 10240)
		{
			// Vérifier l'extension du fichier
			if ($_FILES['avatar']['type'] != 'image/png' && $_FILES['avatar']['type'] != 'image/jpeg' && $_FILES['avatar']['type'] != 'image/jpg' && $_FILES['avatar']['type'] != 'image/gif')
			{
				echo 'Votre avatar doit être au format jpeg, jpg, gif ou png.';
			} 
			else
			{
				// Vérifier les dimensions de l'image
				$maxwidth = 100; // En pixel
				$maxheight = 100;
				$image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
				if ($image_sizes[0] <= $maxwidth AND $image_sizes[1] <= $maxheight)
				{
					// On définit l'extention du fichier puis on le nomme par le timestamp actuel
					if ($_FILES['avatar']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
					if ($_FILES['avatar']['type'] == 'image/jpg') { $extention = '.jpg'; }
					if ($_FILES['avatar']['type'] == 'image/png') { $extention = '.png'; }
					if ($_FILES['avatar']['type'] == 'image/gif') { $extention = '.gif'; }
					$nom_avatar = time().$extention; 
					$repertoire = 'avatar/';
					if (move_uploaded_file($_FILES['avatar']['tmp_name'], $repertoire.$nom_avatar))
					{
						echo 'Image uploaded !';
					}
					else
					{
						echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
					}
				}
				else
				{
					echo '<p>Les dimensions de votre image ne sont pas correctes (taille maximale : 100*100).</p>';
				}
			}
		}
		else
		{
			echo '<p>Votre avatar est trop lourd (poids maximum : 10ko).</p>';
		}
	}
	else
	{
		echo '<p>Une erreur est survenue lors de l\'enregistrement de votre avatar.</p>';
	}
}

?>
Je précise que je le script me renvoie le message "Image uploaded !", ce qui me parait encore plus bizarre o.O