2016-06-24 4 views
1

Я очень новичок для prestashop. мое имя изображения отлично сохраняется в databse. но пока во время загрузки изображения создайте ошибку 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. я использую код для загрузкиДобавить поле «СОЗДАТЬ СЧЕТ» с использованием 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; 
    } 

} 

Я использую 1.4.3.

+0

Вы пытаетесь передать URL-адрес вместо пути где-то в вашем коде. Пожалуйста, отредактируйте свой вопрос и добавьте свой код, затем я смогу вам помочь. –

+0

Я обновил свой вопрос с кодом @FlorianLemaitre –

+0

Exectly. $ new_path = dirname (__ FILE__). "/ uploads /". $ _FILES [ "profile_image"] [ 'имя']; теперь отлично работает :) –

ответ

0

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

Вы должны использовать локальный путь, а не HTTP URI.

Как указано в вашем комментарии $new_path = dirname(FILE) . "/uploads/" . $_FILES["profile_image"]['name']; является решением.

Смежные вопросы