PHP

Предложить тему

1C-Bitrix. Ошибка: Превышен максимальный допустимый размер для загружаемого файла

Ошибка возникает когда загружаемый файл больше указанного на сервере.

Для устранения ошибки необходимо увеличить разрешенных объем загружаемых файлов. Изменить требуется настройки php, в php.ini, .htaccess или через ini_set.

Текущее значение и расположение php.ini можно в /bitrix/admin/phpinfo.php

Пример в php.ini (максимум 20 мегобайт):

upload_max_filesize = 20М

 

PHP Warning: readfile() failed to open stream: No such file or directory

Пример ошибки:

PHP Warning: readfile(FTP/15082013113742/Snimok.JPG) [function.readfile]: failed to open stream: No such file or directory in D:\WebServer\www\files.php on line 23

Описание / причина:

Файл или директория не найдена.

Решение:

 Возможно нужно выйти в подкоталог. Пример: readfile(../FTP/15082013113742/Snimok.JPG);

Пример причины ошибки:

<?php
$ur = "FTP/spec/".$files_row['folder']."/".$files_row['name'];
header('Content-Disposition: attachment; filename="'.$files_row['name'].'"');
readfile($ur);
?>

Пример решения ошибки:

<?php
$ur = "../FTP/spec/".$files_row['folder']."/".$files_row['name'];
header('Content-Disposition: attachment; filename="'.$files_row['name'].'"');
readfile($ur);
?>

 

 

Загрузка файлов с русскими именами через PHP

Преобразуем имя  файла из UTF-8 в WINDOWS-1251

$_newname = $_FILES['form_element']['name'];
$_filesname   = iconv("UTF-8", "windows-1251",$_newname);
move_uploaded_file($_FILES['form_element']['tmp_name'], "../{$_filesname}");

PHP Warning: Missing argument

Пример ошибки:

Warning: Missing argument 1 for client::get_student(), called in D:\WebServer\include\student.php on line 450

Описание / причина:

Отсутствует обязательный аргумент. В данном примере говорится, что отсутствует обязательный аргумент в функции get_student().

Решение:

Исправить вызов функции. Пример: get_student(12);

Пример причины ошибки:

<?php
function get_student($year)
{
   echo $year."г.";
}
get_student();
?>

Пример решения ошибки:

<?php

function get_student($year)
{
echo $year."г.";
}
get_student(2015);

?>

 

 

PHP Notice: Undefined index: id

Пример ошибки:

PHP Notice:  Undefined index:  id in /home/manual1c.ru/public_html/zakaz.php on line 3

Описание / причина:

Переменная не инициализирована. Вы используете переменную $id которая не определенна.

Решение:

 Инициализировать переменную в начале. Пример: $id = 0;

Пример причины ошибки:

<?php
if (isset($_GET['id']))
$id = $_GET['id'];
$sum = 200 + $id;
?>

Пример решения ошибки:

<?php
$id = 0;
if (isset($_GET['id']))
$id = $_GET['id'];
$sum = 200 + $id;
?>

 

 

Установка часового пояса в PHP.

date_default_timezone_set("Europe/Moscow");

Получить данные о файле с помощью pathinfo().

<?php
$parts = pathinfo('/www/docs/files.doc.rar');
echo $parts['dirname'], "\n";
echo $parts['basename'], "\n";
echo $parts['extension'], "\n";
echo $parts['filename'], "\n";
?>

Результат:

/www/docs/
files.doc.rar
rar
files.doc

Функция транслита слов на PHP и JavaScript

пример функций транслита для PHP и JavaScript

is_dir – проверка наличия папки (директории) [Функция PHP]

Данная функция позволяет проверить, является ли указанный файл директорией.

Синтаксис
is_dir ($filename)
$filename - string. Папка (в кавычках), относительно текущей рабочей директории.
Результат:
TRUE если является директорией, иначе возвращается FALSE
Пример
if (is_dir("include"))
{
   echo "Это папка существует"; // если есть такая папка
} else {
   echo "Этой папки нет";             // если нет такой папки
}

if (is_dir("include.txt"))
{
   echo "Это папка существует"; // если есть такая папка
} else {
   echo "Этой папки нет";             // если нет такой папки
}
// скорее всего выдаст "Этой папки нет", т.к. это скорее всего файл, а не папка.

Скачиваем файл, а не открываем его. Реализация через php.

Скачивание текущего файла

указываем до вывода текста на сайте.

 <?php header("Content-Type: application/force-download"); ?>

Скачивание определенного файла

Пригодится когда нужно скачать файл перейдя по ссылки. К примеру xml файл.

Предположим есть ссылка передающая get параметр id.

Файл обрабатывающий файл будет выглядеть примерно так:

 header("Content-Disposition: attachment; filename=".$_GET['id'].".xml");
 readfile("price/".$_GET['id'].".xml");

$_GET['id'] - имя файла;
.xml - расширение файла;
price/ - папка с фалами;

Плагин Insert PHP и Allow PHP in Posts and Pages для выполнения PHP кода.

В данной статье хочу рассказать про несколько плагинов для возможности выполнения PHP кода на страницах CMS WordPress.

Рассматриваемые плагины: Insert PHP, Allow PHP in Posts and Pages.

Устанавливаем локальный сервер Denwer (Apache, PHP, MySQL, Perl…).

Для работы с CMS WordPress, нам потребуется PHP, MySQL, Apache/nginx. Весь этот набор есть в локальном сервере Denwer от Дмитрия Котерова.

strlen() – количество символов в строке [Функция PHP]

Функция strlen позволяет подсчитать количество символов в строке (string).

Перенаправление на другую страницу (Redirect) в PHP, JavaScript и HTML

Пример перенаправлений в PHP, JavaScript и HTML с задержками и без.
header(‘Refresh: 10; URL=http://newcoder.ru/cat/web/’);
location.replace(«http://newcoder.ru/cat/web/»);
< meta http-equiv="refresh" content="10; url=http://newcoder.ru/cat/web/" >

define – определение константы [Функция PHP]

Функция _define_ позволяет определить константу при запуске.
Константа — это таже переменная, только ее нельзя изменять в процессе выполнения скрипта.

Пример использования можно увидеть на первых строчках CMS WordPress: define(‘WP_USE_THEMES’, true);

Синтаксис
define ($<название>,$<значение>[,$<регистр>]);
название — название константы
значение — Значение типа integer, float, string, boolean, а так же NULL.
регистр — если хотите чтобы название не зависило от регистра, установите True
Результат:
FALSE в случае возникновения ошибки
Пример
define("CONSTA", "00005");
echo CONSTA;
// "00005"
echo Consta;
// выводит имя константы "Constа".

define("PEREMENNAY", "00008", true);
echo PEREMENNAY;
// "00008"
echo Peremennay;
// "00008"