Seite 1 von 1

upload von files auf einen server mit php.

Verfasst: 08.10.2002 19:38
von Gast
irgendwie funktioniert das bei mir nicht so wirklich... ich habs mit dem ftp befehl versucht, aber es geht echt net gscheit - könnte mir bitte jemand weiterhelfen?? wäre sehr wichtig... und auch wie man dabei abfragen kann, dass die datei höchstens eine bestimmte größe haben darf

danke

augi

Verfasst: 08.10.2002 20:27
von Pyramide

Verfasst: 09.10.2002 11:04
von Gast

Code: Alles auswählen

<?php

//Namen des Unterverzeichnisses in eine Variable schreiben
$uverz="dateien";
if($sent)
{
//Wenn das Unterverzeichnis noch nicht existiert, dieses anlegen
if(!file_exists($uverz))
  {
  mkdir($uverz,0755);
  }

//Datei Größe kontrollieren <<--- so da is es
  if($neuedatei_size>100000)
  {
   $fehler="<br>Die Datei ist zu groß";
  }


//Zulässige Dateitypen kontrollieren
  if(!($neuedatei_type =='image/pjpeg' OR $neuedatei_type =='image/gif'))
  {
   $fehler.="<br>Der Dateityp ist nicht zulässig";
  }

//Datei speichern, wenn kein Fehler vorliegt
  if(!$fehler)
  {
  //Eindeutigen Namen generieren
  $name=uniqid("");

	//Dateiendung je nach Typ an den Namen anhängen
	switch($neuedatei_type)
	{
	case 'image/pjpg':
	$name.=".jpg";
	break;
	case 'image/gif':
	$name.="gif";
	break;
	}
  //Den Dateinamen um die Pfadangabe erweitern
  $name=$uverz."/".$name;

  //Die Datei in das Unterverziechnis kopieren
  copy($neuedatei, $name);
  }

  else
  {
   echo "<h2><font color=red> $fehler </font></h2>";
  }
}
//Ausgeben der bereits vorhandenen Dateien im Unterverzeichnis
echo "<h2>Bisher hochgeladene Dateien</h2>";
$i=1;
$verzeichnis=opendir($uverz);
	while ($file=readdir($verzeichnis))
	{
		if(is_file($uverz."/".$file))
		{
		 echo "<a href='$uverz/$file' target=_blank>Datei $i</a><br>";
		 $i++;
		}
	}
closedir($verzeichnis);
?>

Verfasst: 09.10.2002 13:00
von biototo

Verfasst: 10.10.2002 21:38
von Acyd Burn
hat nur einen kleinen Hacken, versuch mal damit txt, tpl, html... dateien upzuloaden. ;)
ich sach nur FTP_BINARY.

Verfasst: 23.03.2003 11:31
von codemonkey
Hmm, ich habe jetzt schon soviel ausprobiert, ich bekomme das mit dem Datei Upload irgendwie nicht hin :cry: Hat nochmal jmd. Tipps für mich?

Verfasst: 23.03.2003 11:36
von sidragon

Code: Alles auswählen

Datei 1: (Formular)
<html>
<head>
<title>Bilderupload</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<table width="550" border="1">
  <tr bgcolor="#CC6633"> 
    <td colspan="2"> 
      <div align="center"><font color="#FFFFFF"><b><font size="2" face="Arial, Helvetica, sans-serif">Bilder 
        Upload </font></b></font></div>
    </td>
  </tr>
  <tr bgcolor="#CC9966"> 
    <td height="368" width="380" valign="top"> 
      <form ENCTYPE="multipart/form-data" method="post" action="VorgangUpload.php" onSubmit="MM_validateForm('Titel','','R','user','','R','Vorschau','','R','Inhalt','','R','Passwort','','R');return document.MM_returnValue">
        <p>Datei auf eurem Rechner<br>
          <input type="file" name="userfile" maxlength="100" size="50">
        </p>
        <p> Name, unter dem es gespeichert werden soll<br>
          <input type="text" name="Zielname" maxlength="100" size="50">
        </p>
        
        <p> 
          <input type="submit" name="Abschicken" value="Upload">
        </p>
      </form>
    </td>
    <td height="366" width="154" valign="top"> 
      <p>Hier k&ouml;nnt ihr ein Bild uploaden. </p>
      <p>Maximale Dateigr&ouml;&szlig;e 80 kb.</p>
      <p>Als Name, unter dem es gespeichert werden soll gebt dir Nummer des Topics 
        an...</p>
      <p>Beispiel: f&uuml;r Topic 585 -> 585.jpg</p>
      <p>&nbsp;</p>
      </td>
  </tr>
</table>
</body>
</html>

Dann Vorgangupload:
<?php 
//-------------------Vorgang Upload----------------------------
$Dateigroesse = "80000";
$Zielpfad = "/home/xxx/bilder";
	echo $userfile; echo"<br>";
	echo $userfile_name;echo"<br>";
	echo $userfile_size;echo"<br>";
	echo $userfile_type;echo"<br>";
	if($userfile_size>$Dateigroesse) {echo "zu groß! max. 80kb";}
	else{
	if(file_exists($Zielpfad."/".$Zielname)==1){ ?>
		Lösche altes File von "<?php echo $Zielpfad."/".$ZielName; ?>" <br>
		<?php if(unlink($Zielpfad."/".$Zielname)==1): ?> ok
	<?php else: ?> Fehler!
	<?php endif; }?>
	Verschiebe File nach "<?php echo $Zielpfad."/".$Zielname; ?>"<br>
	<?php if(rename($userfile,$Zielpfad."/".$Zielname)==1){echo "Alles ok!";chmod($Zielpfad."/".$Zielname,0755);}
	else echo"Fehler!";}
?>

Verfasst: 23.03.2003 12:35
von codemonkey
Das geht bei mir irgendwie nicht :cry: