Ich habe zwei Schaltflächen zum Senden von Formularen in einem Formular, und ich möchte $uploaded
Array in elseif() {...}
wie diese $data ['pic_path'] = $uploaded;
verwenden, aber es tut nicht t arbeiten. Ich kann $uploaded
innerhalb von if() {...}
oder innerhalb des HTML-Körpers nur ausdrucken. Was soll ich tun, um das $uploaded
in $data
Array zu speichern? Vielen Dank!Zugriff auf Array-Daten in elseif() {..} Bedingung von if() {...} Bedingung
Hier ist der Code:.
<?php
if (isset($_POST[submit_image])) {
if (!empty($_FILES["files"]["name"][0])) {
$files = $_FILES["files"];
//arrarys to include files uploaded successfully and failed
$uploaded = array();
$failed = array();
//access tmp_name arrary
foreach ($files['name'] as $position => $file_name) {
$file_tmp = $files["tmp_name"][$position];
$file_ext = explode(".", $file_name);
$file_ext = strtolower(end($file_ext));
$file_name_new = uniqid("", true) . "." . $file_ext;
$file_destination = "uploads/" . $file_name_new;
if (move_uploaded_file($file_tmp, $file_destination)) {
$uploaded[$position] = $file_destination;
} else {
$failed[$position] = "error";
}
}
print_r($uploaded);
}
} elseif (isset($_POST[submit_post])) {
$data = array();
$data['comments'] = $_POST['comments'];
//$data ['pic_path'] = $uploaded;
//print_r($uploaded);
}
?>
<!DOCTYPE html>
<head>
</head>
<body>
<form method="post" enctype="multipart/form-data">
<input type="file" name="files[]" multiple />
<input type="submit" name="submit_image"/>
<textarea name="comments"></textarea>
<button type="submit" name="submit_post">Submit Your Post</button>
</form>
</body>
</html>
Ich habe setzen 'hochgeladen $ = array();' außerhalb des 'if() {...} elseif() {...}'. Aber 'print_r ($ uploaded)' funktioniert nur in 'if() {...}' nicht in 'elseif() {...}'. – fortrustit
Ich habe meine Antwort mit Code bearbeitet, der funktionieren sollte. Probieren Sie das aus. –
Vielen Dank für Ihre Bearbeitung, ich habe versucht, aber '$ data ['pic_path'] = $ hochgeladen;' Wert ist immer noch leer. Und es scheint, dass das Loswerden von 'if (iset ($ _ POST [submit_post])) {...} auch funktionieren wird. Ich weiß jedoch nicht, inwieweit dies die Formularvalidierung beeinflussen wird. Aber ich werde es in meinem vollständigen Code ausprobieren :) – fortrustit