Ik heb hier een mooi scriptje gevonden om foto's te verkleinen en up te loaden. Het werkt perfect, buiten dat "owner/group" "apache:apache" wordt, waardoor ik niet de juiste rechten heb.
Hier volgt het script:

<?
$newwidth='500';
$newheight='500';
$dir = "images/";
$maxsize = 2900000; // maximum groote images

if (is_uploaded_file($_FILES['bestand']['tmp_name']))
{
if(filesize($_FILES['bestand']['tmp_name']) > $maxsize){

echo "<span style=\"color: red\">!! Foto 1 is te groot.</span><p>";


} else {

$pathinfo = pathinfo($_FILES['bestand']['name']);
$ext = strtolower($pathinfo["extension"]);
$a = ".$ext";
$naam= @foto_. date("dmyHis") .$a;

if ($ext == "jpeg" || $ext == "jpg" || $ext == "gif" || $ext == "png"){
move_uploaded_file($_FILES['bestand']['tmp_name'], $dir.$naam) or die("Onze excuses, maar het kan niet uploaden.
Waarschijnlijk is uw foto te groot.<br>
<a onclick=\"javascript:history(-1);\">Ga Terug en probeer iets anders!</A> ");




$pics=$dir.$naam;


list($width, $height) = getimagesize($pics);
if($width > $height && $newwidth < $width){
$newheight = $height / ($width / $newwidth);
} else if ($width < $height && $newheight < $height) {
$newwidth = $width / ($height / $newheight);
} else {
$newwidth = $width;
$newheight = $height;
}
if(preg_match("/.jpg/i", "$pics")){
$source = imagecreatefromjpeg($pics);
}
if(preg_match("/.jpeg/i", "$pics")){
$source = Imagecreatefromjpeg($pics);
}
if(preg_match("/.png/i", "$pics")){
$source = imagecreatefrompng($pics);
}
if(preg_match("/.gif/i", "$pics")){
$source = imagecreatefromgif($pics);
}

$thumb1 = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($thumb1, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

if(preg_match("/.jpg/i", "$pics")){
imagejpeg($thumb1,$dir.$naam,90);
}
if(preg_match("/.jpeg/i", "$pics")){
imagejpeg($thumb1,$dir.$naam,90);
}
if(preg_match("/.png/i", "$pics")){
imagepng($thumb1,$dir.$naam,9);
}
if(preg_match("/.gif/i", "$pics")){
imagegif($thumb1,$dir.$naam,90);
}

$x=$newwidth;
$y=$newheight;

}
else {
echo "<span style=\"color: red\">Foute extensie van foto 1!! Afbeeldingen mogen enkel gif, jpg, jpeg of png zijn!</span>";
}
}

}
?>

Alle foto's komen dus in de map images, die gechmod is naar 777. Het probleem is dat ik de foto's niet kan downen via filezilla, als ik bv. een backup wil maken. Ik heb deze foto's dan willen chmodden naar 777, maar dan krijg ik "Operation not permitted". Hoe kan ik dus de owner veranderen? Met chown, maar hoe juist?
sasa schreef op 07.02.2009 15:33
Bestaat er niets leuker :)

Ja hoor, maar dat heeft weer niks met php te maken. ;-)

Wat Tommy voorstelt is toch heel simpel te maken.
OK, ik heb dit script gebruikt, en nu is mijn probleem opgelost!

Alvast erg bedankt allemaal!

<?php
$curDir = getcwd();
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($curDir));

foreach($iterator as $item) {
chmod($item, 0777);
}

?>

Reageren