[Problème]Changer les permissions en 777 lors de l'upload

Ho_Zyris
Invité n'ayant pas de compte PHPfrance

13 déc. 2005, 20:43

Bonjour,
lorsque j'upload les fichiers sur mon ftp via mon panneau d'admin de site les droits se mettent par defaut en 600. Le problème c'est que je suis obligé de changer manuellement les droits pour afficher le fchier sur mon Navigateur. Quelqu'un peut me dire comment les passer en 777 lors de l'upload. Merci.

Code:
mysql_connect($host, $login, $passe) or die("cannot connect to server");
mysql_select_db($base) or die("cannot connect to db");

function resize($file) {

	$size = getimagesize("galerie/$file");
	if($size[0]>160)
		$dest_width=160;
	else
		$dest_width=$size[0];

	if($size[0]==0)
		return 0;
	else
		$dest_height=($size[1]*$dest_width)/$size[0];

	if($src_img = imagecreatefromjpeg("galerie/$file")) {
		$dst_img = imagecreatetruecolor($dest_width, $dest_height);
		imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_height, $size[0], $size[1]);
		imagejpeg($dst_img, "galerie/TN_$file");
		imagedestroy($src_img);
		imagedestroy($dst_img);
		return 1;
	}
	else
		return 0;
}

if($_GET['action']=='add') {
	$strDate=$_POST['strDate'];
	$strLieu=$_POST['strLieu'];
	$strData=$_POST['strData'];

	$query="INSERT INTO AMSUD (strDate, strLieu, strData) values('$strDate', '$strLieu', '$strData')";
	$result=mysql_query($query);
	header("location: index.php");
}
elseif($_GET['action']=='upload') {
	if($_FILES['img']['error']==UPLOAD_ERR_OK) {
		$size=$_FILES['img']['size'];
		$img=$_FILES['img']['name'];
		$tmp=$_FILES['img']['tmp_name'];
		$dest='./galerie/'.$img;
		move_uploaded_file($tmp, $dest);
		if(resize($img)==1) {
			$comment=$_POST['comment'];
			$query="INSERT INTO AMSUD_GALERIE (strName, strComment) values('$img', '$comment')";
			$res=mysql_query($query);
			echo "<font face=Verdana size=1>upload succeeded</font>";
		}
		else
			echo "<font face=Verdana size=1>not a valid file</font>";
	}
	else
		echo "<font face=Verdana size=1>error</font>";
}
elseif(isset($_SESSION['AMSUD_ID_MEMBER'])) {
	echo "<table border=0 width=100%><tr><td><a class=linkb href='index.php'>index</a><font face=Verdana size=2> > administration des informations</font></td></tr><form name='frmAdd' method='post' action='admin.php?action=add'><tr><td colspan=2 width=100%><font face=Verdana size=1></br>Ajouter un évènement :</br>******************************</br>date : <input type='text' name='strDate'>&nbsp;lieu : <input type='text' name='strLieu'>&nbsp;</br></br>commentaire : <input type='text' name='strData' size=100>&nbsp;>&nbsp;<input type='submit' value='Add'></font></td></tr></form></table>";
	echo "<table border=0 width=100%><form name='frmUpload' method='post' action='admin.php?action=upload' enctype='multipart/form-data'><tr><td><font face=Verdana size=1></br>Ajouter une photo dans la gallerie :</br>******************************</br>photo : <input type='file' name='img' size=40>&nbsp;</br></br>commentaire : <input type='text' name='comment' size=100>&nbsp;>&nbsp;<input type='submit' value='Upload'></font></td></tr></form></table>";
}
else {
	header("location: index.php");
}
?>

Eléphant du PHP | 65 Messages

13 déc. 2005, 20:59

Tu connais les balise php? Tu devrais les utiliser, ça ferait un code plus coloré!

Dans la fonction d'upload, y a un setting pour les chmod. Mais comme ton code est assez illisible, je vois pas trop il est ou.

Il faut toujours aéré son code
Mieux vaut avoir un humour douteux que de ne pas en avoir du tout!

Ho_Zyris
Invité n'ayant pas de compte PHPfrance

13 déc. 2005, 21:05

elseif($_GET['action']=='upload') {
if($_FILES['img']['error']==UPLOAD_ERR_OK) {
$size=$_FILES['img']['size'];
$img=$_FILES['img']['name'];
$tmp=$_FILES['img']['tmp_name'];
$dest='./galerie/'.$img;
move_uploaded_file($tmp, $dest);

ViPHP
ViPHP | 2144 Messages

13 déc. 2005, 21:08

Comme te l'a dit Tiger, Commence par indanter ton code, ça là c'est illisible
Et l'usage des balises php n'est pas seulement conseillé, cfr les rêgles du forum.

Invité
Invité n'ayant pas de compte PHPfrance

13 déc. 2005, 21:12

Merci

Ho_Zyris
Invité n'ayant pas de compte PHPfrance

14 déc. 2005, 11:52

Qu'appelle t'on le setting chmod ? quelqu'un sait comment ça marche pour la fonction upload ?
Merci.

Ho_Zyris
Invité n'ayant pas de compte PHPfrance

14 déc. 2005, 12:42

J'ai trouvé :
il faut mettre
chmod($dest, 0644);
apres la ligne d'upload. Merci pour votre aide.