👨🏻💻 Доработать функцию PHP?
Я только начинаю осваивать PHP. Код, которым я пользуюсь:
Вроде бы работает исправно. Но мне необходимо ссылку mylink com брать из отдельного файла mylink.txt. Размер файла примерно 10-30 мб.
В нём список ссылок, каждая в отдельной строке. Надо, чтобы по очереди бралась одна ссылка, обрабатывалась с помощью функции выше и результат записывался в файл result.txt.
Есть такой вариант чтения файла:
Но как соединить эти функции, я без понятия.
В результате должно произойти следующее:
прочтена ссылка из файла mylink.txt
ссылка обработана с помощью $api_url
результат записан в файл result.txt в такой последовательности (в одной строке записывается $long_url, в следующей строке записывается $result
Далее выполняется задержка 1 сек.
Цикл продолжается, до тех пор, пока файл mylink.txt полностью не будет прочитан.
Пожалуйста, помогите доработать код.
PHP задачи с собеседований
Я только начинаю осваивать PHP. Код, которым я пользуюсь:
<?php
$file = 'result.txt';
$long_url = urlencode('mylink.com');
$api_token = '0123456789';
$api_url = "https://mysite.com/api?api={$api_token}&url={$long_url}";
$result = file_get_contents($api_url);
if( $result ){
echo $result;
}
file_put_contents($file, $long_url . PHP_EOL, FILE_APPEND);
file_put_contents($file, $result . PHP_EOL, FILE_APPEND);
fclose($file);
sleep(1);
?>
Вроде бы работает исправно. Но мне необходимо ссылку mylink com брать из отдельного файла mylink.txt. Размер файла примерно 10-30 мб.
В нём список ссылок, каждая в отдельной строке. Надо, чтобы по очереди бралась одна ссылка, обрабатывалась с помощью функции выше и результат записывался в файл result.txt.
Есть такой вариант чтения файла:
<?php
$file = fopen('mylink.txt', 'r');
while (!feof($file)) {
echo fgets($file);
echo '<br>';
}
fclose($file);
?>
Но как соединить эти функции, я без понятия.
В результате должно произойти следующее:
прочтена ссылка из файла mylink.txt
ссылка обработана с помощью $api_url
результат записан в файл result.txt в такой последовательности (в одной строке записывается $long_url, в следующей строке записывается $result
Далее выполняется задержка 1 сек.
Цикл продолжается, до тех пор, пока файл mylink.txt полностью не будет прочитан.
Пожалуйста, помогите доработать код.
PHP задачи с собеседований
👨🏻💻Вопрос от пользователя
Как настроить файл .htpasswd и .htaccess для запуска проекта на openserver
Всем привет! У меня появилась проблема что я никогда не работал с проектом на php. Теперь мне надо сделать некоторые правки на проекте. Мне прислали проект и я запустил его на open-server. Но оказывается там есть файл .htaccess который не дает мне запустить.
PHP задачи с собеседований
Как настроить файл .htpasswd и .htaccess для запуска проекта на openserver
Всем привет! У меня появилась проблема что я никогда не работал с проектом на php. Теперь мне надо сделать некоторые правки на проекте. Мне прислали проект и я запустил его на open-server. Но оказывается там есть файл .htaccess который не дает мне запустить.
PHP задачи с собеседований
Fatal error: Uncaught Error: Class "Endroid\QrCode\Builder\Builder
Отдает ошибку: Fatal error: Uncaught Error: Class "Endroid\QrCode\Builder\Builder" not found in
На локалке все работает, на сервере не хочет. Я думаю что psr-4, на локальном это есть в composer.json а на сервере нет. Но при добавлении и обновлении композера и очистки кеша, ничего не помогает.
Переустановил все пакеты, композер заново поставил вместе с psr-4 - результат тот же.
PHP задачи с собеседований
Отдает ошибку: Fatal error: Uncaught Error: Class "Endroid\QrCode\Builder\Builder" not found in
На локалке все работает, на сервере не хочет. Я думаю что psr-4, на локальном это есть в composer.json а на сервере нет. Но при добавлении и обновлении композера и очистки кеша, ничего не помогает.
Переустановил все пакеты, композер заново поставил вместе с psr-4 - результат тот же.
PHP задачи с собеседований
👨🏻💻Вопрос от пользователя
Передать строку запроса в PHP
Я только начал изучать php,html, js! есть php -->
Возможно ли передать сюда строку запроса, сформированную на стороне клиента джаваскриптом,и получить ответ?
//эта строка сформирована js//
п.с. создать универсальный пхп для запросов к разным таблицам с разными условиями! Ответом получать всегда массив! Спасибо!
PHP задачи с собеседований
Передать строку запроса в PHP
Я только начал изучать php,html, js! есть php -->
$host='10.20.30.40';
$user='root';
$password='pass';
$database='db';
$conDB = new mysqli($host, $user, $password, $database);
$conDB->query("SET NAMES 'utf8'");
if (!$conDB) {
die('Не могу подключиться!');
}
if ($conDB) {
$query=$_POST['string_query'];//string_query сформирована js
$result = mysqli_query($conDB, $query);
$result= mysqli_fetch_all($result);
}
Возможно ли передать сюда строку запроса, сформированную на стороне клиента джаваскриптом,и получить ответ?
let string_query="SELECT * FROM `users` WHERE `id` > '5' AND `name` = 'Nik'";
//эта строка сформирована js//
п.с. создать универсальный пхп для запросов к разным таблицам с разными условиями! Ответом получать всегда массив! Спасибо!
PHP задачи с собеседований
Страница сайта выдает ошибку 500
Пишу сайт, который запускается на apache. Отладку сайта произвожу через встроенный в VS Code PHP built-in server. Все страницы сайта отображаются корректно как через встроенный в PHP сервер так и через Apache.
Все - кроме одной.
Использую маршрутизацию. Когда в поисковой строке указано localhost/view/calendar - то на PHP сервере все работает исправно, а на apache при попытке загрузить страницу получаю ошибку 500.
Проблема в том что когда я занимаюсь отладкой кода включается встроенный PHP сервер, на котором все работает и из-за этого я не могу посмотреть что в коде ломается при загрузке через apache.
Вопрос: Как установить в качестве сервера отладки - apache, чтобы можно было увидеть поломку???
P.S. Ubuntu 22.04
PHP задачи с собеседований
Пишу сайт, который запускается на apache. Отладку сайта произвожу через встроенный в VS Code PHP built-in server. Все страницы сайта отображаются корректно как через встроенный в PHP сервер так и через Apache.
Все - кроме одной.
Использую маршрутизацию. Когда в поисковой строке указано localhost/view/calendar - то на PHP сервере все работает исправно, а на apache при попытке загрузить страницу получаю ошибку 500.
Проблема в том что когда я занимаюсь отладкой кода включается встроенный PHP сервер, на котором все работает и из-за этого я не могу посмотреть что в коде ломается при загрузке через apache.
Вопрос: Как установить в качестве сервера отладки - apache, чтобы можно было увидеть поломку???
P.S. Ubuntu 22.04
PHP задачи с собеседований
👨🏻💻Вопрос от пользователя
Выполнить код, если оператор if равен заданному числу
У меня есть 2 массив $arr1 $arr2 если рандом дает цифру 1 в цикле выполняется $arr1 если 2 то выполняется $arr2
в итерация 1 будет 2 ссылки 'link1' 'link2' в итерация 2 будет 3 ссылки 'link1' 'link2' 'link3'
Я нуб, просто эксприментирую. Спасибо за помощь.
PHP задачи с собеседований
Выполнить код, если оператор if равен заданному числу
У меня есть 2 массив $arr1 $arr2 если рандом дает цифру 1 в цикле выполняется $arr1 если 2 то выполняется $arr2
$arr1 = [
[
'id' => 1,
'name' => 'Name',
'link1' => 'fb.com',
'link2' => 'vk.com',
'link3' => 'ok.ru'
],
[
'id' => 2,
'name' => 'Name',
'link1' => 'fb.com',
'link2' => 'vk.com',
'link3' => 'ok.ru'
]
];
$arr2 = [
[
'id' => 1,
'name' => 'Name',
'link1' => 'fb.com',
'link2' => 'vk.com',
'link3' => 'ok.ru'
],
[
'id' => 2,
'name' => 'Name',
'link1' => 'fb.com',
'link2' => 'vk.com',
'link3' => 'ok.ru'
]
];
shuffle($arr);
shuffle($arr2);
$rand = rand(1,2);
if($rand == 1) {
for($i = 0; $i < 2; $i++) {
echo $arr[$i]['name'].PHP_EOL;
echo $arr[$i]['id'].PHP_EOL;
echo $arr[$i]['link1'].PHP_EOL;
echo $arr[$i]['link2'].PHP_EOL;
#если итерпция 2 выполняется нужно добавлять еще один ключ 'link3' в итерации 2 будет 3 ссылки.
if($i = 2) {
echo $arr[$i]['link3'].PHP_EOL;
}
}
}
if($rand == 2) {
for($i = 0; $i < 2; $i++) {
echo $arr2[$i]['name'].PHP_EOL;
echo $arr2[$i]['id'].PHP_EOL;
echo $arr2[$i]['link1'].PHP_EOL;
echo $arr2[$i]['link2'].PHP_EOL;
#если итерпция 2 выполняется нужно добавлять еще один ключ 'link3' в итерации 2 будет 3 ссылки.
if($i = 2) {
echo $arr2[$i]['link3'].PHP_EOL;
}
}
}
в итерация 1 будет 2 ссылки 'link1' 'link2' в итерация 2 будет 3 ссылки 'link1' 'link2' 'link3'
Я нуб, просто эксприментирую. Спасибо за помощь.
PHP задачи с собеседований
👨🏻💻Почему у меня не отображается phpinfo в мною созданной папке (Linux)
Путь папки: /home/user/project/index.php В index.php:
Права у папки: rwxr-xr-x Права у файла: -rw-r--r--
Указываю путь в /etc/apache2/sites-enabled/
Путь: /home/user/project
Добавляю папку в конфиг apache2.conf
ps.Естественно я не забываю делать service apache2 restart после проделанных действий, и я получаю Forbiden 403.
PHP задачи с собеседований
Путь папки: /home/user/project/index.php В index.php:
<?php
phpinfo();
Права у папки: rwxr-xr-x Права у файла: -rw-r--r--
Указываю путь в /etc/apache2/sites-enabled/
ls => 000-default.conf
Путь: /home/user/project
Добавляю папку в конфиг apache2.conf
ps.Естественно я не забываю делать service apache2 restart после проделанных действий, и я получаю Forbiden 403.
PHP задачи с собеседований
Нужно сделать обновление данных на странице, которые подтягиваются с сокета и что бы обновление данных было раз в 1с
А еще лучше что бы раз в 20мс Использую Laravel в этом деле Код сокета.
html
PHP задачи с собеседований
А еще лучше что бы раз в 20мс Использую Laravel в этом деле Код сокета.
public function index()
{
error_reporting(E_ALL ^ E_WARNING);
set_time_limit(0);
ob_implicit_flush();
date_default_timezone_set('Asia/Krasnoyarsk');
$address = '....';
$port = ....;
try {
echo 'Создание сокета ... ';
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
throw new Exception('socket_create() failed: '.socket_strerror(socket_last_error())."\n");
} else {
echo "выполнено.\n";
}
echo 'Соединение с сокетом ... ';
$result = socket_connect($socket, $address, $port);
if ($result === false) {
throw new Exception('socket_connect() failed: '.socket_strerror(socket_last_error())."\n");
} else {
$connect = "Установлено";
}
echo 'Отправка данных: ';
$byteOut = socket_send($socket, chr(15), 1, 0);
if ($byteOut === false) {
echo " Ошибка.";
throw new Exception('socket_send() failed: '.socket_strerror(socket_last_error())."\n");
} else {
echo "отправлено ".$byteOut." байт.\n";
}
echo 'Приём данных: ';
$byte = socket_recv($socket, $in, 898, 0);
if ($byte === false) {
echo " Ошибка.";
throw new Exception('socket_recv() failed: '.socket_strerror(socket_last_error())."\n");
} else {
//переменные которые вытаскиваются с сокета
$id1 = unpack("S*", substr($in, 0, 34));
$id42 = unpack("S*", substr($in, 226, 2));
$id45 = unpack("S*", substr($in, 244, 2));
$id48 = unpack("S*", substr($in, 262, 2));
$id51 = unpack("S*", substr($in, 280, 6));
$id57 = unpack("S*", substr($in, 310, 8));
$id65 = unpack("S*", substr($in, 350, 8));
$id74 = unpack("S*", substr($in, 398, 10));
}
catch (Exception $e) {
echo "\nError: ".$e->getMessage();
}
if (isset($socket)) {
echo 'Close socket ... ';
socket_close($socket);
echo "OK\n";
}
}
}
html
<p class="m-1 quantity-details" >
<span>{{ $id42[1] }}</span>
</p>
PHP задачи с собеседований
👨🏻💻 Отобразить содержимое страницы по ссылке WordPress
Вот код
Зная ссылку на страницу определенного города мне нужно вывести ее содержимое. Как это можно сделать средствами WordPress?
PHP задачи с собеседований
Вот код
<?
$activeCity = do_shortcode( '[city]' ); // этот результат выдает плагин BelingoGeo
if($activeCity == "Москва") {
$link = get_field('main_p_moskow','options');
}
if($activeCity == "Санкт Петербург") {
$link = get_field('main_p_saint_p','options');
}
if($activeCity == "Иркутск") {
$link = get_field('main_p_irk','options');
}
?>
Зная ссылку на страницу определенного города мне нужно вывести ее содержимое. Как это можно сделать средствами WordPress?
PHP задачи с собеседований
👨🏻💻 Необходимо аждую секунду проверять, существует ли уже пользователь с таким логином
Есть страница регистрации. На ней должен работать программа, который каждую секунду берёт из формы данные, и обычным sql проверяет, существует ли уже юзер с такими же.
Как узнавать данные из формы?
Как делать это каждую секунду?
А может быть, лучше сделать js скрипт, который каждую секунду добавляет
PHP задачи с собеседований
Есть страница регистрации. На ней должен работать программа, который каждую секунду берёт из формы данные, и обычным sql проверяет, существует ли уже юзер с такими же.
Как узнавать данные из формы?
Как делать это каждую секунду?
А может быть, лучше сделать js скрипт, который каждую секунду добавляет
iframe с check.php?login=nnn?
PHP задачи с собеседований
Проверить если таблица существует mySQL PHP
Вот код PHP
Даже контент страницы не загружается после этого кода php. Нужно проверить если таблица linkName существует то выполнить следующий код
Где тут ошибка?
PHP задачи с собеседований
Вот код PHP
<?Не работает эта строка
$path = $_SERVER['DOCUMENT_ROOT'];
include_once $path . '/wp-config.php';
include_once $path . '/wp-load.php';
include_once $path . '/wp-includes/wp-db.php';
include_once $path . '/wp-includes/pluggable.php';
global $wpdb;
$serv = $wpdb->dbhost;
$user = $wpdb->dbuser;
$pass = $wpdb->dbpassword;
$name = $wpdb->dbname;
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli($serv, $user, $pass, $name);
$val = mysql_query("SHOW TABLES LIKE `linkName`");
if($val !== FALSE)
{
$sql = "SELECT link FROM linkName";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<div id='linkTitle'>".$row["link"]."</div>";
}
}
}
$mysqli->close();
?>
if($val !== FALSE)
Даже контент страницы не загружается после этого кода php. Нужно проверить если таблица linkName существует то выполнить следующий код
"SELECT link FROM linkName"
Где тут ошибка?
PHP задачи с собеседований
👨🏻💻 Не могу подключиться к базам данных
Я новичок в php, но очень хочу обучится. Создала обычную форму, но не могу подключиться к базам данных. При нажатии на кнопку, происходит подключение к файлу php, но в браузере ничего не отображается. Не могу найти ошибку.
файлы: index.php:
register.php:
db.php:
может быть что то необходимо подключить, потому что делаю с 0.
PHP задачи с собеседований
Я новичок в php, но очень хочу обучится. Создала обычную форму, но не могу подключиться к базам данных. При нажатии на кнопку, происходит подключение к файлу php, но в браузере ничего не отображается. Не могу найти ошибку.
файлы: index.php:
<!DOCTYPE html>
<html xml:lang="ru" lang="ru">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE-edge">
<meta name="viewport" content="width-device-width? initial- scale-1.0">
<title>CSS</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
<header>
<section>
<form action="/php/register.php" method="post">
<label for="login">Логин</label><br>
<input type="txt" name="login" id="login"><br><br>
<label for="password">Пароль</label><br>
<input type="txt" name="password" id="password"><br><br>
<label for="email">E-mail</label><br>
<input type="txt" name="email" id="email"><br><br>
<button class="button-a">Зарегистрироваться</button>
</form>
</section>
</div>
</header>
</body>
</html>
register.php:
<?php
| require_once('db.php');
$login = $_POST['login'];
$password = $_POST['password'];
$email = $_POST['email'];
?>
db.php:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$bdname = "users";
$conn = mysqli_connect($servername, $username, $password, $bdname);
if (!$conn){
due("Сonnection file". myesquel_connect_error());
} elso {
echo "Успех";
}
?>
может быть что то необходимо подключить, потому что делаю с 0.
PHP задачи с собеседований
Как внутри <?if (!isset($_COOKIE[сюда])){?> вставить php echo
Подскажите, как внутри <?if (!isset($_COOKIE[сюда надо вставить])){?> вставить вот такой код: <?php echo $this->href_to('karma_vote', $profile['id']); ?> Такая конструкция нужна для того, чтобы в $_COOKIE[] на каждой странце был уникальный код, который в другом месте этой страницы выводится с помощью <?php echo $this->href_to('karma_vote', $profile['id']); ?>. Если вставлять как есть - страница не открывается, ошибка 500. Наверное, решение на уровне азов PHP, но я как раз решил постигать их опытным путем и пока не могу сам найти рабочий способ.
PHP задачи с собеседований
Подскажите, как внутри <?if (!isset($_COOKIE[сюда надо вставить])){?> вставить вот такой код: <?php echo $this->href_to('karma_vote', $profile['id']); ?> Такая конструкция нужна для того, чтобы в $_COOKIE[] на каждой странце был уникальный код, который в другом месте этой страницы выводится с помощью <?php echo $this->href_to('karma_vote', $profile['id']); ?>. Если вставлять как есть - страница не открывается, ошибка 500. Наверное, решение на уровне азов PHP, но я как раз решил постигать их опытным путем и пока не могу сам найти рабочий способ.
PHP задачи с собеседований
Как можно редактировать или удалять сообщения без указания их id на странице?
Есть чат на чистом PHP и Js. У каждого сообщения в атрибутах указан id сообщения из бд. По нему я редактирую или удаляю сообщения. На сервер отправляется id сообщения. На сервере убеждаюсь, что это владелец сообщения, и что-то с ним делаю. Как можно это сделать без указания id сообщения на странице?
PHP задачи с собеседований
Есть чат на чистом PHP и Js. У каждого сообщения в атрибутах указан id сообщения из бд. По нему я редактирую или удаляю сообщения. На сервер отправляется id сообщения. На сервере убеждаюсь, что это владелец сообщения, и что-то с ним делаю. Как можно это сделать без указания id сообщения на странице?
PHP задачи с собеседований