PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (106): В начало « ... 48 49 50 51 [52] 53 54 55 56 ... » В конец
Найдено сообщений: 1581
Строитель
Отправлено: 18 Июля, 2017 - 14:31:02 • Тема: Получить статьи с пустой картинкой • Форум: Регулярные выражения
Ответов: 6 Просмотров: 574
mstdmstd , насколько мне известно, при использовании альтернативы "|" (или) в результирующий массив будут сохранены так же и пустые "вхождения".
На уровне шаблона рег.выражения в данный момент я не могу сказать, возможно ли избежать пустых элементов. Но можно пойти путём фильтрования результирующих массивов, например с помощью array_filter().
Строитель
Отправлено: 12 Июля, 2017 - 22:18:49 • Тема: Выводит названия файлов, но не загружает. • Форум: Вопросы новичков
Ответов: 1 Просмотров: 117
Нуб-2 пишет: Почему выводит названия файлов, но не грузит на сервер?
Скорее всего потому, что ваш скрипт ищет файлы там, где их нет. Обратите внимание на эту строкуСпойлер (Отобразить ) $tmp_name = $_FILES['userfile']["tmp_name"][$key ];
В ней переменная $key пуста.
Далее, в строке Спойлер (Отобразить ) echo move_uploaded_file($tmp_name, "$uploads_dir/$tmp_name ");
оператор echo явно лишний, а переменная $tmp_name содержит имена временных файлов, и я уверен - вам не такой был нужен результат.
Ну и ещё, если вы решили работать с какой-то папкой, то желательно проверять её наличие, а в случае её отсутствия - создавать. С учётом этих замечаний, скрипт будет выглядеть такСпойлер (Отобразить ) PHP:
скопировать код в буфер обмена
<?PHP
$uploads_dir = 'uploads' ;
if ( isset ( $_POST [ 'upload' ] ) ) { $out = [ ] ;
for ( $i = 0 ; $i < count ( $_FILES [ 'userfile' ] [ 'name' ] ) ; $i ++ ) { echo 'Файл не загружен' ;
} else {
$name = $_FILES [ 'userfile' ] [ 'name' ] [ $i ] ;
$tmp_name = $_FILES [ 'userfile' ] [ 'tmp_name' ] [ $i ] ;
$new_name = $uploads_dir . '/' . $basename ;
$out [ ] = $basename ;
}
}
}
echo 'Загружен(ы) файл(ы):<hr /><b>' . join ( '<br />' , $out ) . '</b>' ; }
}
Спойлер (Отобразить ) CODE (
html ):
скопировать код в буфер обмена
<form id = "form" name = "upload" action = "upload.php" method = "POST" enctype = "multipart/form-data" >
Выберите файл для загрузки:
<input type = "file" name = "userfile[]" multiple>
<input type = "submit" name = "upload" value = "Загрузить" >
</ form >
(Добавление)
И ещё почитайте статьи, как правильно фильтровать принимаемые от пользователя файлы.
Строитель
Отправлено: 11 Июля, 2017 - 23:36:22 • Тема: Как получить все константы текущего класса? • Форум: Объектно-ориентированное программирование
Ответов: 1 Просмотров: 1077
webgrig пишет: нужно получить константы только текущего класса
Если думать логично, то можно создать промежуточный класс [разумеется в том случае, если к базовому классу нет доступа(например, дочерний класс реализует некий интерфейс)] , который будет расширять базовый класс. Этот промежуточный класс будет содержать только один статический метод, возвращающий константы базового класса. Ну а дальше просто извлекать из массивов необходимые константы (см. пример) Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
class Foo
{
const ONE = 1 ;
const TWO = 2 ;
}
class Bar extends Foo
{
const THREE = 3 ;
const FOUR = 4 ;
public static function getConstants( ) {
return ( new ReflectionClass( __CLASS__ ) ) -> getConstants ( ) ;
}
}
class Temp extends Foo
{
public static function getConstants( ) {
return ( new ReflectionClass( __CLASS__ ) ) -> getConstants ( ) ;
}
}
$constBar = array_diff ( Bar
:: getConstants ( ) , Temp
:: getConstants ( ) ) ;
echo '<pre>' ; var_dump ( $constBar ) ; echo '</pre>' ; P.S.: может это быдлокод? тогда подправьте меня, пожалуйста.
Строитель
Отправлено: 11 Июля, 2017 - 18:30:58 • Тема: Разделитель тысячных с обрезкой нулей • Форум: Вопросы новичков
Ответов: 13 Просмотров: 551
Alexey_php , вариант на регулярках(цикл "foreach" для демонстрации) Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
$a = [ '12345' , '12345.000' , '12345.500' , '12345.560' , '12345.567' , '12345.050' ] ;
foreach ( $a as $str ) {
$patt = [ '~(?<=\d)(?=(?:\d{3})+\b)~' , '~\.~' , '~[^1-9]+$~' ] ;
$repl = [ ' ' , ',' , '' ] ;
}
/*
12 345
12 345
12 345,5
12 345,56
12 345,567
12 345,05
*/
Строитель
Отправлено: 11 Июля, 2017 - 14:26:44 • Тема: Разделитель тысячных с обрезкой нулей • Форум: Вопросы новичков
Ответов: 13 Просмотров: 551
teleoperator27 пишет: вам же Строитель написал уже
Там этого оказалось не достаточно. Я предполагаю, что для решения наверное придется использовать регулярные выражения.
(Добавление)
Alexey_php , выше Мелкий вам дал верный совет
Строитель
Отправлено: 06 Июля, 2017 - 17:13:02 • Тема: приравнять к переменной yii2 • Форум: CMS и фреймворки
Ответов: 2 Просмотров: 913
dorofej85 , что значит "приравнять"? Присвоить результат работы этого метода в переменную? Или сравнить результат работы метода с результатом другой переменной?
Строитель
Отправлено: 06 Июля, 2017 - 17:00:41 • Тема: Перебор значений массивов • Форум: Вопросы новичков
Ответов: 3 Просмотров: 190
sense1 Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
$phrases = [
"купить iphone" ,
"куплю iphone" ,
"купить iphone 5s" ,
"куплю iphone 5s" ,
"купить iphone 5" ,
"куплю iphone 5" ,
"куплю iphone 4s"
] ;
$titles = [
'? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Кликай!' ,
'? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Жми!' ,
'? Быстрая Доставка за 60 мин! 250 Приложений в подарок!' ,
'? Быстрая Доставка - 60 мин! 250 Приложений в подарок!' ,
'? Доставка за 60 мин! 250 Приложений в подарок!'
] ;
$arr = [ ] ;
foreach ( $phrases as $k => $str ) {
foreach ( $titles as $title ) {
$arr [ $k ] [ ] = $str . $title ;
}
}
echo '<pre>' ; var_dump ( $arr ) ; echo '</pre>' ; /* Результат :
array(7) {
[0]=>
array(5) {
[0]=>
string(126) "купить iphone? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Кликай!"
[1]=>
string(120) "купить iphone? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Жми!"
[2]=>
string(112) "купить iphone? Быстрая Доставка за 60 мин! 250 Приложений в подарок!"
[3]=>
string(109) "купить iphone? Быстрая Доставка - 60 мин! 250 Приложений в подарок!"
[4]=>
string(97) "купить iphone? Доставка за 60 мин! 250 Приложений в подарок!"
}
[1]=>
array(5) {
[0]=>
string(124) "куплю iphone? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Кликай!"
[1]=>
string(118) "куплю iphone? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Жми!"
[2]=>
string(110) "куплю iphone? Быстрая Доставка за 60 мин! 250 Приложений в подарок!"
[3]=>
string(107) "куплю iphone? Быстрая Доставка - 60 мин! 250 Приложений в подарок!"
[4]=>
string(95) "куплю iphone? Доставка за 60 мин! 250 Приложений в подарок!"
}
[2]=>
array(5) {
[0]=>
string(129) "купить iphone 5s? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Кликай!"
[1]=>
string(123) "купить iphone 5s? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Жми!"
[2]=>
string(115) "купить iphone 5s? Быстрая Доставка за 60 мин! 250 Приложений в подарок!"
[3]=>
string(112) "купить iphone 5s? Быстрая Доставка - 60 мин! 250 Приложений в подарок!"
[4]=>
string(100) "купить iphone 5s? Доставка за 60 мин! 250 Приложений в подарок!"
}
[3]=>
array(5) {
[0]=>
string(127) "куплю iphone 5s? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Кликай!"
[1]=>
string(121) "куплю iphone 5s? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Жми!"
[2]=>
string(113) "куплю iphone 5s? Быстрая Доставка за 60 мин! 250 Приложений в подарок!"
[3]=>
string(110) "куплю iphone 5s? Быстрая Доставка - 60 мин! 250 Приложений в подарок!"
[4]=>
string(98) "куплю iphone 5s? Доставка за 60 мин! 250 Приложений в подарок!"
}
[4]=>
array(5) {
[0]=>
string(128) "купить iphone 5? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Кликай!"
[1]=>
string(122) "купить iphone 5? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Жми!"
[2]=>
string(114) "купить iphone 5? Быстрая Доставка за 60 мин! 250 Приложений в подарок!"
[3]=>
string(111) "купить iphone 5? Быстрая Доставка - 60 мин! 250 Приложений в подарок!"
[4]=>
string(99) "купить iphone 5? Доставка за 60 мин! 250 Приложений в подарок!"
}
[5]=>
array(5) {
[0]=>
string(126) "куплю iphone 5? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Кликай!"
[1]=>
string(120) "куплю iphone 5? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Жми!"
[2]=>
string(112) "куплю iphone 5? Быстрая Доставка за 60 мин! 250 Приложений в подарок!"
[3]=>
string(109) "куплю iphone 5? Быстрая Доставка - 60 мин! 250 Приложений в подарок!"
[4]=>
string(97) "куплю iphone 5? Доставка за 60 мин! 250 Приложений в подарок!"
}
[6]=>
array(5) {
[0]=>
string(127) "куплю iphone 4s? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Кликай!"
[1]=>
string(121) "куплю iphone 4s? Быстрая Доставка за 60 мин! 250 Приложений в подарок! Жми!"
[2]=>
string(113) "куплю iphone 4s? Быстрая Доставка за 60 мин! 250 Приложений в подарок!"
[3]=>
string(110) "куплю iphone 4s? Быстрая Доставка - 60 мин! 250 Приложений в подарок!"
[4]=>
string(98) "куплю iphone 4s? Доставка за 60 мин! 250 Приложений в подарок!"
}
}
*/
Страниц (106): В начало « ... 48 49 50 51 [52] 53 54 55 56 ... » В конец
Powered by ExBB FM 1.0 RC1. InvisionExBB