Verzeichnisattribute webserver werden umgesetzt

ch000

Grünschnabel
Hallo,

beim Upload von Dateien (Bilder, pdf, etc.) mit einem php-Skript habe ich folgendes Problem:

Die Attribute des Verzeichnisses, in das die Dateien geladen werden, verändern sich unregelmässig und scheinbar ohne Kontrolle. D.h. ein und die selbe Datei wird hochgeladen - einmal ohne jegliches Problem/Auswirkung, ein andermal hauts wieder die Attribute über den Haufen. Und zwar von 0777 auf 0766. Darstellung von Bilder, Aufruf von pdf über http ist dann nicht mehr möglich. Das Script setzt mit

chmod ("uploadfiles/".$serverfile_name, 0766);

die Eigenschaften der Datei, nicht aber die des Ziel-Verzeichnisses des Uploads.

Client ist immer ein Apple, beim PC kein Problem. Provider ist 1und1.

Das Skript ist bereits ohne Ärger in Verwendung, Clients sind bislang immer PC's gewesen.

Welchen Mangel kann ein Skript dabei haben ?

Für Hinweise bin ich sehr dankbar, kann bei Bedarf auch das Skript einstellen.

Dank im voraus
ch000
 
Hallo, es ist selbst programmiert und heisst upload.php, vom aufrufenden Script werden $table, $item, $id als Parameter übergeben.

Anbei der code:
-----------------------
PHP:
<?
	include('dbconnect.inc.php');
	
	if((!isset($_REQUEST['todo'])) || ($_REQUEST['todo'] == ""))
	{
	$table=$_REQUEST['table'];
    	$item=$_REQUEST['item'];
    	$id=$_REQUEST['id'];
?>

<form enctype="multipart/form-data" name="upload" action="upload.php" method="post">
    <input type="hidden" name="table" value="<? echo $table ?>">
	<input type="hidden" name="item" value="<? echo $item ?>">
	<input type="hidden" name="id" value="<? echo $id ?>">
	<input type="hidden" name="todo" value="upload">
	<input type="file" name="userfile"><br><br>
	<input type="submit" value="Datei hochladen">
</form>

<?
	}
	else
	{
		$table=$_REQUEST['table'];
		$item=$_REQUEST['item'];
		$id=$_REQUEST['id'];
		$userfile=$_FILES['userfile'];
		$userfile_name=$_FILES['userfile']['tmp_name'];
		$serverfile_name=$_FILES['userfile']['name'];

		$connect = mysql_connect($db_server,$db_user,$db_pass);
		$db = @mysql_select_db($db_name,$connect);
		$query = "UPDATE $table SET $item = '$serverfile_name' WHERE id = $id";

		if(isset($userfile_name))
		{
			move_uploaded_file($userfile_name,"uploadfiles/".$serverfile_name);
			chmod ("uploadfiles/".$serverfile_name, 0766);
			echo "<br><br><p class=\"std\">Datei ist erfolgreich auf den Webserver geladen worden</p><br><br>";
			$result = mysql_query($query,$connect) or die(mysql_error());
		}
		else
		{
			echo "Fehler beim Hochladen der Datei !";
		}
	}
?>
-----------------------

Bislang eben keine Probleme damit, allerdings alles Win-Clients.

Mit Mac eben beschriebenes Phänomen.

Fällt ein Fehler auf ?
Vielen Dank, Carsten
 
Zurück