Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Silkroad Online Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

13.11.2005, 23:00

PHP: Dateien Hochladen ohne eine neue Seite aufrufen zu müssen.

Hi!
Ich möchte gern wissen wie man es machen kann, dass man eine Datei hochladet jedoch keine Aktualisierung der Seite (bzw weiterleitung) nötig ist.
Weiß das jemand?
Ich glaub das es mit java geht, aber wie weiß ich einfach nicht. :(

Freu mich auf ein nettes Feedback. ^^
[CENTER]
InGame: FOODy | Level: 13 | Server: Babel[/CENTER]

2

14.11.2005, 07:45

Du meinst mit dem Multipart Verfahren in einem Formular?

Zitat

<input type="file">


Sowas? Wenn ja, nein, dann geht das nicht. Du kannst es vllt so verwirklichen wie ich mit dem Bilderupload, da muss ich ja auch niht die ganze Seite aktualisieren ^^

3

14.11.2005, 17:02

denn kenn ich schon.
Komm aber mit ihm auch net wirklich klar xD
Ich glaub ich les einfach paar Tuts durch ^^
Aber gibt es kein Javascript Befehl dafür?!?
[CENTER]
InGame: FOODy | Level: 13 | Server: Babel[/CENTER]

4

14.11.2005, 18:13

Nein, soweit ich weiß ist das mit Javascript nichts zu machen. Warum muss es ohne Reload sein?

5

14.11.2005, 18:33

schade.
Weil es zuviel arbeit für mich wäre ^^
Da müsste ich die Variabeln verschicken und wieder einlesen lassen.
[CENTER]
InGame: FOODy | Level: 13 | Server: Babel[/CENTER]

6

15.11.2005, 09:24

löl. variablen werden automatisch verschickt über Post und per $_Files[] kannst du deine Datei nach dem Reload direkt benutzen. Da muss net viel gemacht werden ^^

Mein hochladescipt hat vllt 15-20 Zeilen, mehr nicht. (Ohne die, die automatisch das Bild verkleinern und dann den Link einfügen)

7

15.11.2005, 11:49

das weiß ich auch ^^
Nur das mit der Aktion allgemein.
Ich kann einfach keine Dateien vom Clienten zum Server Kopieren lassen oO
Wie lautet überhaupt der Befehl xD
[CENTER]
InGame: FOODy | Level: 13 | Server: Babel[/CENTER]

8

15.11.2005, 15:38

Das geht mit nem Forumlar ^^
Ich denke nicht, das es einem was nützt, falls er hier was hacken will ^^

Und du kannst vllt was daraus lernen...meine PHP Datei um Bilder hochzuladen:

Zitat


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Upload</title>
</head>
<script language="JavaScript" type="text/javascript">
function abgeschickt() {
document.bild_upload.submit.value = "Wird hochgeladen";
document.bild_upload.submit.disabled = true;
}
</script>

<body style="background-color: #EDEDED">
Bild hochladen:<br />
<form name="bild_upload" method="POST" onsubmit="abgeschickt();" action="upload.php" enctype="multipart/form-data">
<input type="hidden" name="action" value="hochgeladen" />
<input type="file" name="datei" size="15" />
<br /><br />
<input type="submit" name="submit" value="Abschicken" />
</form>
<p>
<?

if($_POST['action'] == "hochgeladen"){

$erweiterung = strtolower(substr(strrchr($_FILES['datei']['name'], "."), 1));
$name = time();

if (isset($_FILES["datei"])) {

if ($_FILES["datei"]["error"] == UPLOAD_ERR_OK) {

if($_FILES["datei"]["size"] > 0) {

if($erweiterung == "jpg" || $erweiterung == "gif" || $erweiterung == "png")
{

if (move_uploaded_file($_FILES['datei']['tmp_name'], "./images/screens/".$name.".".$erweiterung)) {
$ch="http://www.silkroadonline.de/images/screens/".$name.".".$erweiterung;
$chp="./images/screens/".$name.".".$erweiterung;
chmod($chp,777);

$thumbsize=150;


list($width, $height) = getimagesize($chp);
$imgratio=$width/$height;
if ($imgratio>1){
$newwidth = $thumbsize;
$newheight = $thumbsize/$imgratio;}
else{
$newheight = $thumbsize;
$newwidth = $thumbsize*$imgratio;}
$thumb = ImageCreateTrueColor($newwidth,$newheight);

switch ($erweiterung){
case "jpg":
$source = imagecreatefromjpeg($chp);
break;

case "gif":
$source = imagecreatefromgif($chp);
break;

case "png":
$source = imagecreatefrompng($chp);
break;
}

imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

switch ($erweiterung){
case "jpg":
imagejpeg($thumb,"./images/screens/thumb_$name.$erweiterung",100);
break;

case "gif":
imagegif($thumb,"./images/screens/thumb_$name.$erweiterung",100);
break;

case "png":
imagepng($thumb,"./images/screens/thumb_$name.$erweiterung",100);
break;

}

$pfad="images/screens/thumb_".$name.".".$erweiterung;
echo 'Bild erfolgreich hochgeladen! Noch eins?<br>
<script languag="javascript">
top.setbbcode("");
</script>';

}
else
echo "Fehler beim Hochladen!";

}
else
echo "Bitte nur gif, png oder jpg Dateien hochladen!<br /> Du hattest eine ".$erweiterung." Datei!";
}
else
echo "Datei hat nur 0 kb Größe!";
}
else
echo "Fehler bei übertragung!";
}
else
echo "Datei Upload fehlgeschlagen!";
}
else {
echo "Nur jpg, png und gif Dateien erlaubt!";
}
?>

</p>
</body>
</html>

9

15.11.2005, 16:11

cool. Danke!
Also ist der Befehl: move_uploaded_file(SOURCEDATEI,KOPIE)

$_FILES['datei']['tmp_name'] <- Ist die Datei des Clienten
"./images/screens/".$name.".".$erweiterung <- Die Kopie der Datei des Clienten

Hab ich es soweit richtig verstanden?
[CENTER]
InGame: FOODy | Level: 13 | Server: Babel[/CENTER]

10

15.11.2005, 17:44

Ja, ganz genau, weiter Infos findest du auch noch auf php.net ^^