Ersten Wert aus einem Array ausgeben

CreativPur

Erfahrenes Mitglied
Hi,

ich habe eine Upload-Funktion als multiple , wo nach dem Hochladen die Dateinamen angezeigt werden.
Das Hochladen und die Dateinamen-Ausgabe funktioniert auch super..

Jetzt habe ich ein 2. Form mit einem Input-Feld, wo ich per value="<?php echo $shortname ?>" den ersten Datennamen benötige.
Zur Zeit wird mir immer der letzte Datenname ausgegeben.

Wie kann ich dies umwandeln ?

PHP:
<?php
echo "<div class='container' style='margin-top:70px;'>";
if(isset($_POST['bild'])){
    if(count($_FILES['upload']['name']) > 0){
        //Loop through each file
        for($i=0; $i<count($_FILES['upload']['name']); $i++) {
          //Get the temp file path
            $tmpFilePath = $_FILES['upload']['tmp_name'][$i];

            //Make sure we have a filepath
            if($tmpFilePath != ""){
          
                //save the filename
                $shortname = $_FILES['upload']['name'][$i];

                //save the url and the file
                $filePath = "../Bewerber/design_bilder/"
              
              
                .$_FILES['upload']['name'][$i];

                //Upload the file into the temp dir
                if(move_uploaded_file($tmpFilePath, $filePath)) {

                    $files[] = $shortname;
                    //insert into db
                    //use $shortname for the filename
                    //use $filePath

                }
              }
        }
    }

    //show success message
  
  
    echo "<h1 class='red'>Hochgeladene Designbilder:</h1>";  
    if(is_array($files)){
        echo "<ul>";
        foreach($files as $file){
            echo "<li class='green'>$file</li>";
        }
        echo "</ul><hr />";
    }
}
echo "</div>";
?>

Form2:
PHP:
<form action="#" method="post">
            <label>Daten hochladen</label>
            <br />
            <input name="" type="text" value="<?php echo $shortname ?>" />
            <hr />
            <button type="submit" class="btn btn-success">Daten hochladen</button>
        </form>
 
Unter der Annahme, dass es sich um ein Array handelt`?

PHP:
$array = ['erster','zweiter','dritter'];
echo $array[0]

Alternativ (macht aber nur bei einem assoziatives Array Sinn):
PHP:
$array = ['erster','zweiter','dritter'];
reset($array);
echo current($array);

Normalerweise sollte der interne Zeiger auf dem ersten Element stehen. Mit dem reset gehst du nur sicher, dass es wirklich so ist.
 
Super... Vielen Dank
Ich habe es folgend umgesetzt..
PHP:
<?php
$array = $files;
 reset($array);
 ?>
<input name="bild_name[]" type="" value="<?php echo current($array) ?>" />

Jetzt wird z.B. "Bild.jpg" ausgegeben.

Besteht auch die Möglichkeit, die Endung "jpg" bei der Ausgabe zu unterdrücken, bzw. nicht auszugeben ?
 
hm.. Grübel
Und wo setze ich das genau ein ?
Vielleicht habe ich mich nicht richtig ausgedrückt.
Abspeichern möchte ich die Datei schon mit der Endung "jpg".

Die Endung soll nur hier entfernt werden
PHP:
<?php
$array = $files;
reset($array);
?>
<input name="bild_name[]" type="" value="<?php echo current($array) ?>" />
 
PHP:
<input name="bild_name[]" type="" value="<?php echo pathinfo(current($array), PATHINFO_FILENAME);?>" />
 

Neue Beiträge

Zurück