Script anpassung

nero

Registered User
Ich hab ein Upload Script leider werden alle Uploads mit Rechte 600 abgespeichert und damit werden Grafiken nicht angezeigt.
Könnte jemand das Script so anpassen das Rechte aller Uploads auf 644 abgespeichert werden ?

PHP:
	include("include/common.php");
	include("include/header.php");
	if($loggedin){
		include("include/accmenu.php");
	}
	if( $_POST['submit'] && $_FILES['attached']['name'] ){
		$ok_filetypes = explode("|",$att_filetypes);
		if (!$_FILES['attached']['error'] && $_FILES['attached']['size'] > $att_max_size*1024){
			errform('<CENTER>Sorry, Traurig, aber die ausgewählte Datei ist leider zu groß.</CENTER><BR><BR>'); // #err
			$step = 1;
		}
		$filename = (!$_FILES['attached']['error'] ? substr( basename($_FILES['attached']['name']), -30 ) : '');
		$x = strtolower( substr($_FILES['attached']['name'], -3));
		if($filename && !in_array($x, $ok_filetypes) ){
			errform('<CENTER>Sorry, Aber der filetype, das du versucht hast zu hochladen, wird nicht erlaubt.</CENTER><BR><BR>');
			$step = 1;
		}
		if(!$posterr){
			if(!isset($_GET["ipaddress"]) || ($_GET["ipaddress"] == "")) {
				$ipaddress = $_SERVER['REMOTE_ADDR'];
				$local = 1;
			} else {
				$ipaddress = $_GET["ipaddress"];
				$local = 0;
			}
			$uniq = substr( md5(uniqid (rand())), 0, 10 );
			$ext = strtolower( substr($_FILES['attached']['name'], -3));
			move_uploaded_file($_FILES['attached']['tmp_name'], $att_path."/".$uniq.".".$ext );
			$strQuery  = "INSERT INTO images SET ";
			$strQuery .= "filename='".$uniq.".".$ext."',";
			$strQuery .= "ipaddress='{$ipaddress}',";
			$strQuery .= "date='".time()."',";
			$strQuery .= "pkey='{$uniq}',";
			if($myuid){
				$strQuery .= "user='{$myuid}',";
			}
			$strQuery .= "status='1'";
			$result = mysql_query($strQuery) or die( mysql_error() );
			$aid = mysql_insert_id();
			if($aid){
				$filen = $siteurl."/".str_replace('./', '', $att_path)."/".$uniq.".".$ext;
				$filen = str_replace('http://','%%',$filen);
				$filen = str_replace('//','/',$filen);
				$filen = str_replace('%%','http://',$filen);
				$step = 2;
			}else{
				$step = 1;
			}
		}
	}else{
		$step = 1;
	}
	if($step == 1){
?>
		<table width="85%" border="0" align="center" cellpadding="0" cellspacing="0">
		<tr>
			<td>
				<div align=center>
				<form ENCTYPE="multipart/form-data" method="post" name="form1">
					<INPUT NAME="attached" TYPE="file"  size="50"><br>
					Erlaubte Dateitypen: <b><?=implode("</b>, <b>",explode("|",$att_filetypes))?></b><br>
					Maximalgr&ouml;&szlig;e: <b><?=$att_max_size?> KB</b>
					<br>
					<br>
					<input type="submit" name="submit" value="Datei Hochladen">
				</form>
				</div>
			</td>
		</tr>
		</table>
<?
	}else{	?>
<div align="center"><b><strong>Ihre Datei wurde erfolgreich hochgeladen</strong> vielen dank!</b><br>
  <br>
</div>
<table width="85%" border="0" align="center" cellpadding="0" cellspacing="0">
		<tr>
			<td><div align="center"><img src="<?=$filen?>"></div></td>
		</tr>
		<tr>
			<td><div align="center"><br>
			    Code f&uuml;r Forum:<br>
				<textarea name="textarea" cols="100" wrap="soft" rows="3">[url=<?=$siteurl?>][img]<?=$filen?>[/img][/url]</textarea>
			</div></td>
		</tr>
		<tr>
			<td><div align="center"><br>
			    Direktlink: <br>
        <textarea name="textarea2" cols="100" rows="4"><?=$filen?></textarea>
      </div></td>
		</tr>
		<tr>
			<td><div align="center"><br>
			    Code f&uuml;r Homepage (HTML):<br>
				<textarea name="textarea3" cols="100" wrap="soft" rows="3"><a href="<?=$siteurl?>" target="_blank"><img alt="Image Hosted by <?=$sitename?>" src="<?=$filen?>" /></a></textarea>
			</div></td>
		</tr>
		<tr>
			<td>&nbsp;</td>
		</tr>
</table>
<?	}	?>
<?
	include("include/footer.php");
?>
 
Code:
move_uploaded_file($_FILES['attached']['tmp_name'], $att_path."/".$uniq.".".$ext );
chmod ([B]NAME[/B], 0644);
Ich habe es absichtlich nicht ganze fertig gemacht (einen kleinen Teil musst du noch selber ersetzen).
Man muesste eigentlich auch mit umask() arbeiten koennen, aber damit kenne ich mich nicht aus.

BTW: Im Skript sind viele fiese Rechtschreibfehler enthalten. Zumdem wird mal "Sie" mal "Du" verwendet. Wenn das oeffentlich verwendet werden soll, solltest du da noch einmal nachkontrollieren.
 
Back
Top