2014-12-07, 18:14
  #1
Medlem
Försöker göra om följande kod till MVC

Kod:
if (isset($_POST["sub"])) {
    $msg = "";
    if (count($_FILES["user_files"]) > 0) {
        $folderName = "uploads/";
        $counter = 0;

        for ($i = 0; $i < count($_FILES["user_files"]["name"]); $i++) {

            if ($_FILES["user_files"]["name"][$i] <> "") {

                $ext = strtolower(end(explode(".", $_FILES["user_files"]["name"][$i])));
                $filePath = $folderName . rand(10000, 990000) . '_' . time() . '.' . $ext;

                if (!move_uploaded_file($_FILES["user_files"]["tmp_name"][$i], $filePath)) {
                    $msg .= "Failed to upload" . $_FILES["user_files"]["name"][$i] . ". <br>";
                    $counter++;
                }
            }
        }

        $msg = ($counter == 0) ? successMessage("Files uploaded Successfully") : errorMessage($msg);
    } else {
        $msg = errorMessage("You must upload atleast one file");
    }
}

HTML-kod:
<form name="f" action="index.php" method="post" enctype="multipart/form-data">
                        <div style="width: 380px; margin: 0 auto;">
                            <fieldset>
                                <legend>Demo1</legend>
                                Attach multiple Files:
                                <input class="files" name="user_files[]" type="file" multiple="multiple" >
                                <div class="height10"></div>
                                <div><input type="submit" class="submit" name="sub" /> </div>
                            </fieldset> 
                    </form>

Problemet är att i mitt formulär i vyn tar den emot en array name="user_files[]" och jag vet inte hur ska få den infromationen vidare till min controller och min modell.

Testat följande i min kontroller

Kod:
      public function uploadImages() {
        if (isset($_POST["submit_file_upload"]) && $_SERVER["REQUEST_METHOD"] == "POST") {
            $this->model->imageUpload($_POST["user_files[]"]);
        }    
    }

Men gissar jag gör något fel med user_files[] i
Kod:
$this->model->imageUpload($_POST["user_files[]"]);

Min modell ser ut så här vilket heller tydligen inte är rätt

Kod:
public function imageUpload(user_files[])
    {
//code
}
Citera
2014-12-07, 18:24
  #2
Medlem
pickledonions avatar
Såhär har jag för mig att man hanterar arrays som skickas med post i php:

Kod:
$arr = $_POST["user_files"];
foreach ($arr as $value) {
    echo $value;
}

Hoppas det lilla hjälpte, du borde klara dig själv härifrån
__________________
Senast redigerad av pickledonion 2014-12-07 kl. 18:27.
Citera
2014-12-07, 18:41
  #3
Medlem
Citat:
Ursprungligen postat av pickledonion
Såhär har jag för mig att man hanterar arrays som skickas med post i php:

Kod:
$arr = $_POST["user_files"];
foreach ($arr as $value) {
    echo $value;
}

Hoppas det lilla hjälpte, du borde klara dig själv härifrån

Fast du pratar om hur jag får ut värden från en array. Frågan gäller att den array jag får från formuläret vill jag kunna skicka till modellen genom kontrollern.

Om formuläret bara skickat en variabel istället för en array fungerar mitt ex på mvc
Citera
2014-12-07, 19:49
  #4
Medlem
pickledonions avatar
Citat:
Ursprungligen postat av _x3m_
Fast du pratar om hur jag får ut värden från en array. Frågan gäller att den array jag får från formuläret vill jag kunna skicka till modellen genom kontrollern.

Om formuläret bara skickat en variabel istället för en array fungerar mitt ex på mvc

Kan du inte göra följande?

Kod:
$this->model->imageUpload($_POST["user_files"]);

Kod:
public imageUpload($array) {
    // hantera $array som jag beskrev i förra inlägget
}
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in