PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (7): « 1 2 [3] 4 5 6 7 »

> Найдено сообщений: 91
Russer Отправлено: 16 Декабря, 2015 - 08:35:17 • Тема: Открыть текстовый файл • Форум: Вопросы новичков

Ответов: 6
Просмотров: 336
Оно.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $uploaddir = '/var/www/';
  4. $path = $uploaddir . basename($_FILES['userfile']['name']);
  5. move_uploaded_file($_FILES['userfile']['tmp_name'], $path);
  6. echo $path;
  7.  
Russer Отправлено: 16 Декабря, 2015 - 07:12:33 • Тема: Помогите пожалуйста новичку! • Форум: Прочее

Ответов: 21
Просмотров: 210
Если нет базы, я бы сделал через файл:
Создаем файл , block_image.txt в котором пишем: место хранения картинки;ссылка;
CODE (htmlphp):
скопировать код в буфер обмена
  1. images/river/1.jpg;http://ссылка1/
  2. images/clouds/1.png;http://ссылка2/
  3. images/mountains/1.gif;http://ссылка3/

Далее создаем функцию:
PHP:
скопировать код в буфер обмена
  1. function image_random(){
  2. $handle = @fopen("block_image.txt", "r");//Открываем фаил
  3. if ($handle) {
  4.     while (($buffer = fgets($handle, 4096)) !== false) { // Считываем построчно
  5.         $image_array[]=explode(';',$buffer); // Создаем массив картинок и ссылок
  6.     }
  7. }
  8. $random=rand(0,count($image_array)-1); // Выбираем случайную картинку
  9. return "<a href=".$image_array[$random][1]."><img src=".$image_array[$random][0].">  </a>";// Отдаем html картинку
  10.  
  11.     }

Далее где нужно в шаблоне просто вставляем:
CODE (html):
скопировать код в буфер обмена
  1. <?php echo image_random();?>
Russer Отправлено: 15 Декабря, 2015 - 07:51:39 • Тема: Вывод значения из базы с описанием • Форум: Вопросы новичков

Ответов: 2
Просмотров: 80
Поиск одной случайной строки в таблице mysql:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $mysql = mysqli_connect("localhost", "user" ,"password", "database");
  4. if (!$mysql) {
  5.     printf("Connect failed: %s\n", mysqli_connect_error());
  6.     exit();  
  7. }
  8. $count = mysqli_query($mysql, "SELECT COUNT(*) FROM `word`");
  9. $rand_row = rand(0,$count);
  10. $row = mysqli_query($mysql, "SELECT * FROM `word` LIMIT $rand_row, 1;");
  11. If (mysqli_num_rows($result) > 0)
  12. {
  13. $word = mysqli_fetch_array($result);
  14. }
  15. mysql_close($mysql);
  16.  

А дальше подставляете значения $word[слово] и $word[описание]. Туда куда нужно.
Russer Отправлено: 15 Декабря, 2015 - 06:44:26 • Тема: Вставить результат в другую функцию • Форум: Вопросы новичков

Ответов: 4
Просмотров: 295
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset($_POST['numbers']) && !empty($_POST['numbers'])) {
  4. $subject = $_POST['numbers'];
  5. $result = str_replace('#', '', $subject);
  6. $result = str_replace(' ', '', $result);
  7. $result_array=explode(':',$result);
  8. $result_array = array_filter ($result_array );
  9. $i=0;
  10. foreach ($result_array as $number){
  11.     if($i % 2 != 0){
  12.         $array_nechet[]=$number;
  13.     }
  14.     else {
  15.         $array_chet[]=$number;
  16.     }
  17.     $i++;
  18. }
  19. $middle_nechet = array_sum($array_nechet)/count($array_nechet);
  20. $middle_chet = array_sum($array_chet)/count($array_chet);
  21. echo "Результат: " . $middle_chet;
  22. echo "Результат: " . $middle_nechet;
  23. }
  24.  
Russer Отправлено: 11 Декабря, 2015 - 08:02:54 • Тема: Поиск в MySQL • Форум: Вопросы новичков

Ответов: 7
Просмотров: 260
У BETWEEN оба параметра обязательны!
Можно сделать следующим образом:
PHP:
скопировать код в буфер обмена
  1.  
  2. if (!isset($from) || empty($from)){
  3.     $from='(SELECT MIN(price) from `tovar`)';
  4. }  
  5. if (!isset($to) || empty($to)){
  6.     $to='(SELECT MAX(price) from `tovar`)';
  7. }  
  8. $strSQL = "SELECT * FROM tovar WHERE `price` BETWEEN {$from} AND {$to}";
  9.  
Russer Отправлено: 11 Декабря, 2015 - 07:33:15 • Тема: Поиск в MySQL • Форум: Вопросы новичков

Ответов: 7
Просмотров: 260
Каком формат у столбца `price`?
Russer Отправлено: 11 Декабря, 2015 - 07:01:21 • Тема: Поиск в MySQL • Форум: Вопросы новичков

Ответов: 7
Просмотров: 260
PHP:
скопировать код в буфер обмена
  1.  
  2. $strSQL = "SELECT * FROM tovar WHERE `price` BETWEEN '.$from.' AND '.$to.'";
  3.  
Russer Отправлено: 10 Декабря, 2015 - 12:53:42 • Тема: Получить значение переменной • Форум: Вопросы новичков

Ответов: 28
Просмотров: 985
Покажите скрипт полностью , тогда понятно будет в чем проблема!
Russer Отправлено: 10 Декабря, 2015 - 06:27:26 • Тема: Проверка с регулярным выражением • Форум: Вопросы новичков

Ответов: 2
Просмотров: 107
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $search='/^arrFilter_[0-9]+_[0-9]+$/';
  4. foreach($_GET as $key => $value){
  5. preg_match($search, $key, $matches);
  6. if (!empty($matches)) {
  7.     $serach_true[]=$matches[0];
  8. }
  9. }
  10. if (!empty($serach_true)) {
  11.     var_dump($serach_true);
  12. }
  13.  
Russer Отправлено: 10 Декабря, 2015 - 05:58:46 • Тема: Получить значение переменной • Форум: Вопросы новичков

Ответов: 28
Просмотров: 985
Я бы сделал отдельный файл обработчик , например script.php , отправлял бы в него данные
CODE (html):
скопировать код в буфер обмена
  1. <form action="script.php">

В нем бы сохранял в базу , а в конце перенаправлял бы обратно на страницу с выводом из базы.
Russer Отправлено: 09 Декабря, 2015 - 19:38:16 • Тема: Проверка на возраст • Форум: Вопросы новичков

Ответов: 18
Просмотров: 1522
Если не ориентироваться IE , то проще будет так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $today_object =  date_create(date('Y-m-d'));
  4. $birthday = filter_input(INPUT_POST, 'birthday', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
  5. $birthday_object =date_create($birthday);
  6. $age_object = date_diff($birthday_object, $today_object);
  7. if (isset($birthday)){
  8.     $age=$age_object->format('%y');
  9. if ($age<21) {
  10.     $error='<b>Вам нет 21 года!</b>';
  11. }
  12. }
  13. ?>
  14. <form action="" method="post">
  15.     <label for="birthday" >Выберите дату рождения:</label> <input name="birthday" type="date" max="2010-01-01">  
  16.     <input type="submit" value="Проверить">
  17. </form>
  18. <?PHP
  19. echo $error;
  20.  
Russer Отправлено: 08 Декабря, 2015 - 06:16:04 • Тема: Получить значение переменной • Форум: Вопросы новичков

Ответов: 28
Просмотров: 985
Novich пишет:
Скажите, а как подсчитать сколько чисел между
PHP:
скопировать код в буфер обмена
  1.  
  2. $str = "5,8,11,50";
  3. $str_result = substr_count($result,',')+1;

Получаю 4, но если будет
Цитата:
5,
тогда получу ответ 2 числа, т.к. прибавляю всегда единичку к результату запятых. А как получить только числа между, сколько их, в данном примере 4.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $str = "5,";
  3. $array=  explode(',', $str);
  4. $array = array_filter ($array );
  5. $count=count($array);
  6. echo $count;
Russer Отправлено: 07 Декабря, 2015 - 21:03:36 • Тема: Ошибка в php Notice: Undefined index: id list.php on line 62 • Форум: Вопросы новичков

Ответов: 8
Просмотров: 434
noice пишет:
Russerспасибо. я просто хотел чтоб просмотр картинок был доступен из админки.
И не лень было вам столько коду писать Растерялся

Да не за что, только это не много не правильный пример, так как фотографии нельзя будет вставить в код на сайте например, это для файловых серверов бы подошло! я просто учусь, по этому и выбираю более менее интересные и полезные задачи для себя)
Russer Отправлено: 07 Декабря, 2015 - 13:08:52 • Тема: Ошибка в php Notice: Undefined index: id list.php on line 62 • Форум: Вопросы новичков

Ответов: 8
Просмотров: 434
Лучше не отдавать файлы на прямую , так как любой желающий может просмотреть все картинки , набрав в браузере папку закачки . Самое простое решение как мне кажется, завести mysql базу , в которой записывать , ссылку на файл и реальный путь до него на сервере. А доступ в папку закрыть для всех по средствам apache , если конечно сервер работает на нем.
Как пример :
download.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset($_GET["link"]))
  4. {
  5. //Получаем ссылку на фаил и делаем простейшую проверку.
  6. $link=strip_tags($_GET["link"]);
  7. //Подключаемся к базе данных
  8. $mysql = mysqli_connect("localhost", "user" ,"password", "database");
  9. if (!$mysql) {
  10.     printf("Connect failed: %s\n", mysqli_connect_error());
  11.     exit();  
  12. }
  13. $link = mysqli_real_escape_string($mysql, $link);
  14. //Отправляем запрос
  15. $result = mysqli_query($mysql, "SELECT `data` FROM `downloads`  WHERE `link`='{$link}' LIMIT 1");
  16. If (mysqli_num_rows($result) > 0)
  17. {
  18. $row = mysqli_fetch_array($result);
  19. //Получаем путь до файла на сервере
  20. $file = $row[data];
  21. //Формируем название файла  убирая путь
  22. $pos = strpos($file, '/');
  23. $file_name =  substr($file, $pos+1);
  24. //Отдаем фаил браузеру.
  25.  header ("Content-Type: application/octet-stream");
  26.  header ("Accept-Ranges: bytes");
  27.  header ("Content-Length: ".filesize($file));
  28.  header ("Content-Disposition: attachment; filename=".$file_name);  
  29.  readfile($file);
  30. }
  31. mysql_close($mysql);
  32. }
  33.  

В директорию где хранятся файлы добавляем .htaccess
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. Order allow,deny
  3. Allow from localhost
  4. Allow from 127.0.0.1
  5. Deny from all
  6.  

В Mysql добавляем таблицу с тремя полями:
ID LINK DATA

Пример:
В Mysql следующие записи ID=>[1] LINK=>[abc123] DATA=>[upload/test.png]
Отдаем пользователю ссылку формата http://mysite.ru/download.php/?link=abc123
Пользователь получает фаил upload/test.png , но не видит его реального пути. Тем самым мы не даем просматривать все фаилы хранящиеся у нас.
(Добавление)
Хотя наверное , я не прав , вам же не просто скачивать фаилы нужно , а просматривать их.
Russer Отправлено: 07 Декабря, 2015 - 06:54:31 • Тема: Получить значение переменной • Форум: Вопросы новичков

Ответов: 28
Просмотров: 985
Novich пишет:
Не получается таким образом получить нужный результат, а именно
Цитата:
5,8,11,50

PHP:
скопировать код в буфер обмена
  1.  
  2. $str = "1,2,5,8,7,11,50";
  3. $find = "1,2,7";
  4. $array_str=explode(",",$str);
  5. $array_find=explode(",",$find);
  6. $array_result = array_diff($array_str, $array_find);
  7. $str_result=  implode(",", $array_result);
  8. echo $str_result;
  9.  

Страниц (7): « 1 2 [3] 4 5 6 7 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB