Page 1 sur 1

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

Posté : 13 déc. 2005, 20:43
par Ho_Zyris
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");
}
?>

Posté : 13 déc. 2005, 20:59
par Tiger
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

Posté : 13 déc. 2005, 21:05
par Ho_Zyris
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);

Posté : 13 déc. 2005, 21:08
par iclo
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.

Posté : 13 déc. 2005, 21:12
par Invité
Merci

Posté : 14 déc. 2005, 11:52
par Ho_Zyris
Qu'appelle t'on le setting chmod ? quelqu'un sait comment ça marche pour la fonction upload ?
Merci.

Posté : 14 déc. 2005, 12:42
par Ho_Zyris
J'ai trouvé :
il faut mettre
chmod($dest, 0644);
apres la ligne d'upload. Merci pour votre aide.