Speicherort ausgeben?

Hallo,

nach langer Ruhezeit von mir hab ich mal wieder ne kleine aber feine Frage :susp: .
Einige wissen vlt. noch das ich mal ne Uploader basteln wollte!
Hab ich nun auch endlich hinbekommen…

Was mir aber jetzt fehlt ist so ein Textchen das einem sagt WO denn nun die Datei gespeichert wurde zB.

Deine Datei wurde an folgenden Ort hochgeladen:
sirzimt.bplaced.net/data/filexyz.endungxyz

Momentan gibt er nur aus ob es erfolgreich oder eben nicht erfolgreich war…
Ich poste mal netterweise und aus Anstand damit alle wissen wie mein kleiner Uploader tickt den Code:

<!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>Testseite</title>
</head>
<body>
<p>Die Dateien findest du hier:<br />
<a href="data/" target="_blank">Klick mich</a></p>
<?php
$errormsg = "Upload Fehlgeschlagen";
$uploadmsg = "Upload Erfolgreich";

if(isset($_FILES['uploadedfile']['tmp_name'])){
	$target_path = "data/";
	$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 
	if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "<em>".basename( $_FILES['uploadedfile']['name'])."</em> ".$uploadmsg;
	} else{
    echo "<em>".basename( $_FILES['uploadedfile']['name'])."</em> ".$errormsg;
	}
}else{
echo '<form enctype="multipart/form-data" action="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method="post">';
echo '<input type="hidden" name="max_file_size" value="99999999999999999999999999999999999999999999999999999999999999" />';
echo 'W&auml;hle eine Datei zum hochladen:: <input name="uploadedfile" type="file" />';
echo '<br />';
echo '<input type="submit" value="Hochladen" />';
echo '</form>'; 
}
?>
</body>
</html>

Wer es sich bisher ansehen will er freut sich hier über den Besuch:
sirzimt.bplaced.net/test.php

Ja und ich weis! Die max_file_size is rießig soll aber auch für mein ACP sein (und fürn Kumpel seine Vereinsseite).

Hoffe hier kann wer weiterhelfen…

MfG das Zimtchen !haue

Solltest du ganz schnell entfernen.
Upload Seiten sind nicht gern gesehn :ps:

Hi,

ich habe mir mal erlaubt, deinen Code etwas zu verändern.
Zum Beispiel die “max_file_size” ist unnötig, wenn du sie eh nicht im Skript prüfen lässt.
So ein paar Sachen hab ich entfernt.

Siehe hier:

<html>
<head>
<title>Testseite</title>
</head>
<body>
  <p>
  Die Dateien findest du hier:<br>
  <a href="data/" target="_blank">Klick mich</a>
  </p>
<?php

$errormsg = "<b>Upload Fehlgeschlagen</b><br>";
$uploadmsg = "<b>Upload Erfolgreich</b><br>";

if(isset($_POST['submit'])) {
$target_path = "data/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

	if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
	echo $uploadmsg . "Pfad:" . $_SERVER['SERVER_NAME'] . "/" . $target_path . "\n";
	}
	else {
	echo $errormsg . "\n";
	}
}
else {
echo '<form enctype="multipart/form-data" action="" method="post">';
echo 'W&auml;hle eine Datei zum hochladen: <input name="uploadedfile" type="file">';
echo '<br>';
echo '<input type="submit" name="submit" value="Hochladen">';
echo '</form>';
}

?>
</body>
</html>

Hilfe findest du übrigens auch in meinem Tutorial:
xcube-design.ath.cx/?site=basistutorial#thema13

MfG, xcube

[quote=„Aspect“]Solltest du ganz schnell entfernen.
Upload Seiten sind nicht gern gesehn :ps:[/quote]

Ich will das Script nicht öffentlich für Jedermann ausgeben will es später auf meinem Control Panel verwenden um auch wenn ich nicht zuhause bin Bilder hochladen kann! :susp:

@xcube: Dein Tut les ich mir morgen mal durch :slight_smile:

[quote=“SirZimt”]Was mir aber jetzt fehlt ist so ein Textchen das einem sagt WO denn nun die Datei gespeichert wurde zB.

Deine Datei wurde an folgenden Ort hochgeladen:
sirzimt.bplaced.net/data/filexyz.endungxyz[/quote]
Der Basispfad sollte dir bekannt sein, der Name und Pfad unter dem du die Datei abgelegt hast auch - also ist das eigentlich “nur” das simple Hintereinanderhängen von ein paar Strings.

(“Nur” natürlich in Anführungszeichen, weil auch kontextgerechte Behandlung der Daten nicht vergessen werden sollte.)

[quote=„chrisb“][quote=„SirZimt“]Was mir aber jetzt fehlt ist so ein Textchen das einem sagt WO denn nun die Datei gespeichert wurde zB.

Deine Datei wurde an folgenden Ort hochgeladen:
sirzimt.bplaced.net/data/filexyz.endungxyz[/quote]
Der Basispfad sollte dir bekannt sein, der Name und Pfad unter dem du die Datei abgelegt hast auch - also ist das eigentlich „nur“ das simple Hintereinanderhängen von ein paar Strings.

(„Nur“ natürlich in Anführungszeichen, weil auch kontextgerechte Behandlung der Daten nicht vergessen werden sollte.)[/quote]

Wo die Dateien hinfliegen ist mir klar! Aber die Ausgabe geht nicht… wenn ich hinter dem Text für das erfolgreich Hochgeladen was anhänge kommt Error dabei raus… o.0

Moin,

ich würd das ja mal so schreiben. Zwei Variablen zu definieren halte ich für unnötig :wink:

<?php
$msg = NULL;

if(isset($_POST['submit'])) {
$target_path = "data/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

   if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
       $msg .= "<b>Upload erfolgreich</b><br> Datei wurde hochgeladen nach:";
       $msg .= $_SERVER['SERVER_NAME']."/".$target_path."/".$_FILES['uploadedfile']['tmp_name'];
   }
   else {
       $msg .= "<b>Upload fehlgeschlagen!</b>";
   }
}
else {
echo '<form enctype="multipart/form-data" action="" method="post">';
echo 'W&auml;hle eine Datei zum hochladen: <input name="uploadedfile" type="file">';
echo '<br>';
echo '<input type="submit" name="submit" value="Hochladen">';
echo '</form>';
}
if($msg != NULL) { echo $msg; }
?>

MfG
myPages

[quote=“myPages”]Moin,

ich würd das ja mal so schreiben. Zwei Variablen zu definieren halte ich für unnötig :wink:

<?php
$msg = NULL;

if(isset($_POST['submit'])) {
$target_path = "data/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

   if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
       $msg .= "<b>Upload erfolgreich</b><br> Datei wurde hochgeladen nach:";
       $msg .= $_SERVER['SERVER_NAME']."/".$target_path."/".$_FILES['uploadedfile']['tmp_name'];
   }
   else {
       $msg .= "<b>Upload fehlgeschlagen!</b>";
   }
}
else {
echo '<form enctype="multipart/form-data" action="" method="post">';
echo 'W&auml;hle eine Datei zum hochladen: <input name="uploadedfile" type="file">';
echo '<br>';
echo '<input type="submit" name="submit" value="Hochladen">';
echo '</form>';
}
if($msg != NULL) { echo $msg; }
?>

MfG
myPages[/quote]

Hab das jetzt mal ausprobiert so. Und finde die Idee nichtmal so schlecht das in 1er Variable zusammen zufassen… damit hat man mehr übersicht.
Hab auch mal die Art wie du es Ausgibst genommen nu sieht wenn ich das “[‘tmp_name’]” am ende weglasse das so aus:

Wie kommt das Array den jetzt da weg?

Die Zeile für die Ausgabe sieht nun so aus:

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { $msg .= "<b>Upload erfolgreich</b><br> Datei wurde hochgeladen nach: "; $msg .= $_SERVER['SERVER_NAME']."/".$target_path."/".$_FILES['uploadedfile']; }

Hi,

das liegt doch eigentlich auf der Hand:

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
  $msg .= "<b>Upload erfolgreich</b><br> Datei wurde hochgeladen nach: ";
  $msg .= $_SERVER['SERVER_NAME']."/data/".$_FILES['uploadedfile']['name'];
}

Du musst das “$_Files”-Array genau ansprechen. Es gibt kein “$_FILES[‘uploadedfile’]”!

Logischer wäre es gleich so: (Wozu noch ein “$_FILES[‘uploadedfile’][‘name’]”, wenn du die schon in die “$target_path”-Variable gepackt hast.)

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
  $msg .= "<b>Upload erfolgreich</b><br> Datei wurde hochgeladen nach: ";
  $msg .= $_SERVER['SERVER_NAME']."/".$target_path;
}

MfG, xcube

Dass du dich mit den Grundlagen der Syntax mal beschäftigen sollst, habe ich dir schon mehrfach gesagt - aber offenbar hast du dazu immer noch keine Lust.

Keine Zeit !coffee ich kann nicht den ganzen Tag am PC sitzten und PHP lernen. Ich lerne es Schrittweiße. Aktuell ist für mich die Schule wichtig und mit meinen jungen 16 hab ich ne Feste Freundin… die es nicht gern sieht wenn ich nur am PC sitzte und mit ihr nix unternehme…

Könnt ja zusammen PHP lernen.
Hat jeder von euch was davon :ps:

[quote=„Aspect“]Könnt ja zusammen PHP lernen.
Hat jeder von euch was davon :ps:[/quote]

Die hat daran keine Interesse. Und es gibt besseres als mit der Freundin zusammen Programmiersprachen zu lernen o.0 .

Hier gings aber um den Speicherort ausgeben. Das ich ja nun weiß wie das anständig funktioniert :slight_smile: . Thx nochmal dafür…

PS: Die test.php wurde entfernt :p