afbeelding upload

Status
Niet open voor verdere reacties.

dollo

Gebruiker
Lid geworden
1 jan 2008
Berichten
118
hallo,
ik heb een oud inlogscript weer opgegraven en deze werkte nog goed op mijn localhost.
maar toen ik hem op het web gebruikte kreeg ik de volgende error.

Warning: move_uploaded_file(images/artikelen/teste0.gif) [function.move-uploaded-file]: failed to open stream: Permission denied in /usr/home/deb16497/domains/debrommersite.nl/public_html/website/webpages/afbeeldingUpload.php on line 55

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpkzh2fa' to 'images/artikelen/teste0.gif' in /usr/home/deb16497/domains/debrommersite.nl/public_html/website/webpages/afbeeldingUpload.php on line 55


weet iemand hoe je dit op kan lossen?

PHP:
function random($length='8'){
        $chars = "abcdefghijkmnopqrstuvwxyz023456789";
        $i = 0;
        $pass = '' ;
        while ($i <= $length) {
          $num = rand() % 33;
          $tmp = substr($chars, $num, 1);
          $pass = $pass . $tmp;
          $i++;
        }
        return $pass;
}

$map = 'images/artikelen/';  //map waar die in komt 
$titel = $_SESSION['titel'];
if( isset($_POST['Plaats'])) {
$nummer =0;
echo '<pre>';
var_dump($_FILES);
echo '</pre>';
	include ('databaseverbinding.php');
  foreach ($_FILES['filenaam']['size'] as $key => $value) {
  
  if ($_FILES['filenaam']['size'][$key] <= 1024*1000000) {
    // Controle of het bestand groter is als 100 kb (tussen de [''] van $_FILES vul je de naam van het veld in)
    $extension = array();
    $extension[] = "image/gif";  // zet de extensions (vb: .jpg) in de array..
    $extension[] = "image/jpg";  // altijd met image/ ervoor en zonder punt
    $extension[] = "image/png";
    $extension[] = "image/jpeg";
    // Let op .jpg kan hij verschillend zien (bv: ook als .pjpg) zoek dus op internet een lijst anders krijg je vaak errors..
    if(in_array($_FILES['filenaam']['type'][$key], $extension)) {
    // Controle of hij een bestand met de juiste extension heeft geupload
      if(is_uploaded_file($_FILES['filenaam']['tmp_name'][$key])) {  //Contorleren of hij is geupload
		$filenaam = $titel . $nummer;
		$nummer = $nummer+1;
		$naam = explode('.', $_FILES['filenaam']['name'][$key]);
		$ext = $naam[count($naam)-1];
     	     	
        $qimg = mysql_query("INSERT INTO afbeelding VALUES('".$filenaam.'.'.$ext."','".$titel."')");
		//echo "INSERT filenaam, voorwerp VALUES('".$filenaam.'.'.$ext."', 74) INTO tblBestand";
 		if (is_dir ($map)) 
		{
			print "<br><br>++directorty bestaat";
		} 
		else 
		{
			print "<br><br>--Directory bestaat nog niet" . $map;
			$newpage = $map;
			echo ("<br>we gaan daarom de directory aanmaken");
			mkdir ($newpage, 0777);
		} 
        move_uploaded_file($_FILES['filenaam']['tmp_name'][$key], $map.$filenaam.'.'.$ext);
                
        echo "Succesvol geupload..";
        //echo '<meta http-equiv="refresh" content="2">';
      } else {
        echo "Er is iets mis gegaan bij het uploaden";
      }
    } else {
      echo "Je bestand heeft een verkeerde extensie";
    }
  } else {
    echo "Je bestand moet kleiner zijn dan 100 kb";
  }
  }
} else { 
        $_POST['aantal'] = isset($_POST['aantal']) ? 1*$_POST['aantal'] : 4 ; 

        print'
         
        <form enctype="multipart/form-data" method="post">
		<input type="hidden" name="MAX_FILE_SIZE" value="1024000000" />'; 
        for($i=0; $i<$_POST['aantal']; $i++) { 
                $nummer = $i + 1; 
                print' 
                afbeelding '.$nummer.' <input name="filenaam['.$i.']" type="file" /><br />'; 
        } 
        print' <br/><input type="submit" name="Plaats" value="Plaats" />
                
        </form>'; 
} 
?>
 
Lijkt erop dat je de map 'images/artikelen' moet chmodden om te 'mogen' uploaden. Als je die map in je FTP programma of Controlpanel CHMOD naar 777 moet het probleem opgelost zijn.
 
ik heb momenteel een eerder op mij eiegen automatisch aangemaakte map gekopieerd naar mijn online host. deze map heeft op mijn eigen pc zozo al CHMOD 777
als ik de map alsnog automatisch aan laat maken via onderstaande code dan krijg ik de volgende error.

Directory bestaat nog nietimages/artikelen/
we gaan daarom de directory aanmaken
Warning: mkdir() [function.mkdir]: Permission denied in //usr/home/deb19024/domains/debrommersite.nl/public_html/website/webpages/afbeeldingUpload.php on line 53

PHP:
 if (is_dir ($map)) 
        {
            print "<br><br>++directorty bestaat";
        } 
        else 
        {
            print "<br><br>--Directory bestaat nog niet" . $map;
            $newpage = $map;
            echo ("<br>we gaan daarom de directory aanmaken");
            mkdir ($newpage, 0777);
        }

iemand hier dan een oplossing voor?
 
Vermoedelijk staat PHP safe mode aan. Controleer dat even.

Met dat aan kun je namelijk de functie mkdir() niet gebruiken :)
 
ik heb momenteel een eerder op mij eiegen automatisch aangemaakte map gekopieerd naar mijn online host. deze map heeft op mijn eigen pc zozo al CHMOD 777

Maar heb je hem op je host ook gechmod? 777 om te testen een kopie slag neemt niet de rechten mee namelijk
 
Inderdaad, je map kopieren heeft geen zin.

Je kunt ook geen map maken in een map waarin je geen rechten hebt. De map waarin je een map wilt aanmaken moet dus ook gechmod zijn naar 777.
 
oke bedankt safe mode uitgezet map aan gemaakt en klaar :P
zal inderdaad wel met die gechmod 777 te maken hebben dat ie m eerst niet wou vullen.

tnks:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan