Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
все ok, работает спасибо.
да сырой, и да не использую DB::update().. проверю позже с использованием этого метода.
SQLSTATE[HY000]: General error: 2053 (SQL: UPDATE table SET column1=1,column2=NULL WHERE id IN (31)) (Bindings: array ( )) вылезла вот такая ошибка Не могу понять как исправить?
этот как альтернатива.
HTML::script('путь')
или
HTML::style('путь')
или в указать абсолютный путь.
Можно так
<link rel="stylesheet" href="/css/style.css" type="text/css" />
Все, сам решил проблему.
еще вопрос не по теме, никак не согу заставить работать постраничную навигацию. Формируется запрос в ручную. На выходе масиив, в общем получается так.
$sql = 'SELECT * FROM table';
$res = DB::SELECT(DB::raw($sql));
return Paginator::make($sql, 5 , 3);
Навигация появляется, но данные н страницы те же, должно быть три, выводиться так же как и было до этого. Число страниц внизу 5, при переходе по ним пусто.
Попробуйте использовать first() вместо get()
Исправил ошибку заменил строку 123 а файле PrettyPageHandler.php $escaped = htmlspecialchars($_, ENT_QUOTES, 'UTF-8'); на эту $escaped = htmlspecialchars($_, ENT_COMPAT|ENT_IGNORE, 'UTF-8'); Конечно в ядро лезть немного не правильно, но другого выходя не нашел. Если знаете скажите.
Я перестал следить за новостями php, они что уже победили utf 8 и php 5.4 поддерживает полноценно utf 8. И что теперь делать на хостинге.
Здравствуйте, на знал как назвать тему. Дело в том что при загрузке на хостинг сайта на L4 вылазила ошибка htmlspecialchars , то есть ошибка с кодировкой, сейчас просто белый экрна и все. Хосинг с php 5.3.
Все разобрался как как бы. Нужно запрос обернуть в DB::select();
Еще вопрос. Как в laravel использовать сырой запрос, что бы он вернул массив. Использую DB::raw() он возвращает только сам запрос. Как в laravel его обработать и вернуть данные из базы. делаю расширенный поиск. Очень много полей И каждый раз делать новый запрос неохота. Да и месат много занимаем. Думаю сделать так. Что вывести сам запрос а потом подставлять данные из get в Where и потом гововый запрос прогнать через метод который вернет массив полей.
public function filter_workers($data=array()){
$where = "";
if(isset($data['experience']) && !empty($data['experience'])){
$where = $this -> addWhere($where, "`user_experience` = 2 Годя'");
}
$sql = "SELECT * FROM `jsdfsd_anketa` LEFT JOIN `jsdfsd_users` ON `jsdfsd_anketa`.`user_id` = `jsdfsd_users`.`id` LEFT JOIN `jsdfsd_country`ON `jsdfsd_users`.`user_country` = `jsdfsd_country`.`id` LEFT JOIN `jsdfsd_region`ON `jsdfsd_users`.`user_region` = `jsdfsd_region`.`id` LEFT JOIN `jsdfsd_city`ON `jsdfsd_users`.`user_city` = `jsdfsd_city`.`id`";
if ($where) $sql .= " WHERE $where";
return DB::raw( $sql );
}
Что то вроде этого.
В принципе не мешает, но лучше бы убрать. Использую header пишет что заголовки уже отправлены.
Еще один вопросик, можно избавиться от записи redirecting to при редиректе, на просто редирект как при хедере. Без этой записи.
У меня utf 8 без бом. Перед выводом ничего нет. Некоторые файлы грузятся хорошо, а некоторые с ошибкой.
Стоит вот такая проверка, но все равно.
if($file-> getError() == 1){
return Response::json(array('error'=> 'Ошибка при загрузке'));
}elseif($file -> getClientSize() > 1024*2*1024){
return Response::json(array('error'=> 'Размер файл превышает 2mb'));
}
Эта ошибка на обычном файле,в laravel нет. В laravel с сесиями что - то. Вот такая ошиька Failed to start the session because headers have already been sent by “” at line 0
вот пример кода
file.php
<?php session_start(); ?>
<html>
<head>
<title>Загрузка файлов на сервер</title>
</head>
<body>
<h2><p><b> Форма для загрузки файлов </b></p></h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form>
</body>
</html>
upload.php
<?php session_start();?>
<html>
<head>
<title>Результат загрузки файла</title>
</head>
<body>
<?php
if($_FILES["filename"]["size"] > 1024*3*1024){
echo ("Размер файла превышает три мегабайта");
}
if(is_uploaded_file($_FILES["filename"]["tmp_name"])){
move_uploaded_file($_FILES["filename"]["tmp_name"], "file/".$_FILES["filename"]["name"]);
} else {
echo("Ошибка загрузки файла");
}
?>
</body>
</html>
Вот еще еще такая ошибка
Warning: POST Content-Length of 9152722 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
Все же опять проблема с этими файлами, размер файла определяется, все отлично. Но проверил снова на файлах программ. Вот имеено с файлами запуска происходит ошибка и DjVu (возможно еще какие-нибудь) теперь выдает ошибку сессии failed to start the session because headers have already be sent by причем с другими файлами нормально работают. Сессия уже существует потому-что пользователь залогинен. Сперва думал что из-за размера, но загрузил архив rar но нет, выдало обычную ошибку которую я указал. Я уже незнаю куда шагать. Кстати написал простой скрипт на php, загружаю тотже файл также ошибка сессии.
Спасибо, это понятно. Вот еще вопрос. При использовании данного класса или просто функции. Выдает ошибку stat() [<a href='function.stat'>function.stat</a>]: stat failed for файл.png . Я где то читал что возможно из-за того что путь относительный, потомe-что права на файл и папку 777. мне нужно проверить размер перед загрузкой. делал с помощью правил валидации, так вообще не реагирует на правило max. Вот правило.
public static $rulesFile = array( 'file' => 'image|mimes:jpeg,png,jpg,gif|max:2048' );
Вот так пока решил делать
$file = Input::file('file');
if($file-> getClientSize() > 2048){
return Response::json(array('error'=> 'Ошибка при загрузке файла'));
}
Спасибо, это понятно. Вот еще вопрос. При использовании данного класса или просто функции. Выдает ошибку stat() [<a href='function.stat'>function.stat</a>]: stat failed for файл.png . Я где то читал что возможно из-за того что путь относительный, потомe-что права на файл и папку 777. мне нужно проверить размер перед загрузкой. делал с помощью правил валидации, так вообще не реагирует на правило max. Вот правило.
public static $rulesFile = array(
'file' => 'image|mimes:jpeg,png,jpg,gif|max:2048'
);
Разобрался вроде. Отобразил ошибку, пишет что размер файла превышен. И сразу хотел спросить как узнать размер файла именно в laravel.
Здравствуйте, при загрузке файла exe выдает ошибку. Саму ошибку показать не могу. Работаю с Ajax результат в формfте Json. пытаюсь вывести ошибку через jsonp в jquery ничего не выводит, хотя любая другая ошибка выводится. И ошибка происходит только на файлах которые запускают программу. Например есть файл для удаления с расширением exe. Так его не пропускает и пишет сообщение. А на файл запуска реагирует своеобразно. Проверял а нескольких файлах. Реакция одинакова.
Важно чтобы вызов мастер шаблона (@extends('layouts.default')) был именно на первой строке.. иначе выводит только то, что вы описали.
Но точно не скажу без всего кода.
Замена layout на @extends помогло, спасибо.