2016-06-24 6 views
1

Ich bin sehr Neuling für Prestashop. Mein Bildname ist perfekt in Datenbank gespeichert. aber während des Hochladens von Bildern erstellen Sie den Fehler warning failed to open stream: HTTP wrapper does not support writeable connections in /opt/lampp/htdocs/xyz.com/shop/controllers/AuthController.php on line 427. Ich verwende den Code für das Hochladen vonFügen Sie ein Feld "ERSTELLEN EINES KONTOS" mit Prestashop

$customer->profile_image = $this->uploadProfileImage(); // call function 

    public function uploadProfileImage() { // this is function 
    if(isset($_FILES['profile_image'])){ 
     $target_file = "http://192.168.1.10".__PS_BASE_URI__.'upload'; 
     $fileName = str_replace(" ", "-", $_FILES["profile_image"]["name"]); 
     $name = pathinfo($fileName, PATHINFO_FILENAME); 
     $extension = pathinfo($fileName, PATHINFO_EXTENSION); 
     $increment = ''; 
     while(file_exists($target_file.$name . $increment . '.' .$extension)) { 
       $increment++; 
     } 
     $basename =$name.$increment.'.'.$extension; 

     $filen = $_FILES['profile_image']['tmp_name']; 
     move_uploaded_file($filen, $target_file.$basename); 
     return $basename; 
    } 

} 

Ich bin mit 1.4.3.

+0

Sie versuchen, eine URL anstelle eines Pfads irgendwo in Ihrem Code zu übergeben. Bitte bearbeiten Sie Ihre Frage und fügen Sie Ihren Code hinzu, dann kann ich Ihnen helfen. –

+0

Ich habe meine Frage mit dem Code @FlorianLemaitre –

+0

Exakt aktualisiert. $ neuer_pfad = dirname (__ FILE__). "/ lädt /". $ _FILES ["profile_image"] ['name']; funktioniert jetzt gut :) –

Antwort

0

$target_file = "http://192.168.1.10".__PS_BASE_URI__.'upload';

sollten Sie einen lokalen Pfad verwenden und nicht eine HTTP-URI.

Wie in Ihrem Kommentar erwähnt $new_path = dirname(FILE) . "/uploads/" . $_FILES["profile_image"]['name']; ist die Lösung.