upload von files auf einen server mit php.

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Gast

upload von files auf einen server mit php.

Beitrag 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
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Gast

Beitrag 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);
?>
Benutzeravatar
biototo
Mitglied
Beiträge: 803
Registriert: 10.04.2002 09:51
Wohnort: Düren - Rheinland (zw Köln u. Aachen)
Kontaktdaten:

Beitrag von biototo »

Benutzeravatar
Acyd Burn
Mitglied
Beiträge: 469
Registriert: 16.06.2001 02:00
Wohnort: Oldenburg
Kontaktdaten:

Beitrag von Acyd Burn »

hat nur einen kleinen Hacken, versuch mal damit txt, tpl, html... dateien upzuloaden. ;)
ich sach nur FTP_BINARY.
Meik Sievertsen - phpBB Development Team Leader
Strom | Gas | phpBB Services
codemonkey
Ehemaliges Teammitglied
Beiträge: 3005
Registriert: 13.10.2002 15:15
Wohnort: Wilhelmshaven
Kontaktdaten:

Beitrag 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?
sidragon
Mitglied
Beiträge: 190
Registriert: 22.07.2002 07:25
Wohnort: Lohr am Main
Kontaktdaten:

Beitrag 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!";}
?>
codemonkey
Ehemaliges Teammitglied
Beiträge: 3005
Registriert: 13.10.2002 15:15
Wohnort: Wilhelmshaven
Kontaktdaten:

Beitrag von codemonkey »

Das geht bei mir irgendwie nicht :cry:
Antworten

Zurück zu „Coding & Technik“