2017-01-24 8 views
1

Ich versuche Intervention zu verwenden, um ein Foto von dem Benutzer in einem Formular hinzugefügt Größe ändern:Bildquelle nicht lesbar Bild/Intervention

if(!empty($_POST)) 
{ 
$con = new \App\Controller\CreateController(); 

if($con->create(['name' => $_POST['title'], 'content' => $_POST['content'], 'users_id' => $_SESSION['auth']->id])) 
{ 
    $postid = App::getInstance()->getDB()->lastInsertId(); 
    if($con->media(['media_name' => $_FILES['image']['name'], 'posts_id' => $postid]) && $con->thumbs($_FILES['image']['name'])) 
    { 
    ?> 

    <div class="alert-success">Post Created !</div> 
<?php 
header('refresh:2;url= ../public/admin.php?p=home'); 
    } 
} 
} 

Die „create“ Funktion der Form Informationen in meiner DB speichert, wird die Funktion " Medien "speichern Sie das Bild in meiner DB und die" Daumen "-Funktion soll die Größe ändern und das Bild mit Intervention in mein thumbs-Verzeichnis senden.

jedoch Intervention nicht akzeptieren "$ _FILES [ 'Bild'] [ 'name']" Parameter.

Dies ist meine Funktion Daumen:

public function thumbs($image){ 

    $manager = new ImageManager(); 
    $manager->make('../public/'.$image) 
     ->fit(400,250) 
     ->save('../public/images/thumbs/' .pathinfo($image, PATHINFO_FILENAME) . '.jpg'); 
    return true; 
} 

Jemand kann mir helfen?

Antwort

0

Intervention muss den vollständigen Pfad zu der Datei auf dem Server, um es zu lesen.

Der Pfad zum Herunterladen kann mit $_FILES['image']['tmp_name'] zugegriffen werden.

$_FILES['image']['name'] ist nur der Dateiname Client-Seite.

Sehr ähnlich zu dieser Frage: Getting complete PATH of uploaded file - PHP