$_GET[] — it is array, and
count($_GET);
return her length.

Прежде всего этот сайт — моя записная книжка, в которой собрана информация, часто используемая при создании сайтов. Здесь я оставляю заметки с кодом для себя.Может быть что-то, будет полезно и другим разработчикам.
$_GET[] — it is array, and
count($_GET);
return her length.
В случае проблем с выпуском сертификата помочь может сервис letsdebug.net
При sms рассылках важен размер ссылки, которая будет в тексте сообщения.
В базе данных создается отдельная таблица для хранения короткого урла, и соответствующего ему длинного.
В данную таблицу происходит запись по определенному событию:
function generateRandomString($length = 3) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[random_int(0, $charactersLength - 1)];
}
return $randomString;
}
$short_url = generateRandomString();
global $wpdb;
$table_name = $wpdb->prefix.'urls';
$data = ['url' => $long_url, 'short_url' => $short_url];
$wpdb->insert($table_name, $data);
$i=0;
$array_id_old_feed = [];
$array_id_new_feed = [];
$xml = simplexml_load_file('VBHy6J9p0cSJyNpgzftWAyeemploypsg.xml');
$p_cnt = count($xml->channel->item);
echo 'Count for item old feed: '.$p_cnt.'<br/>';
foreach ($xml->channel->item as $value){
$i++;
//echo $i.' '.$value->id . '<br/>';
array_push($array_id_old_feed ,strval($value->id));
}
$xml = simplexml_load_file('E-Commerce_Product_List.xml');
$p_cnt = count($xml->channel->item);
echo 'Count for item new feed: '.$p_cnt.'<br/>';
$i=0;
foreach ($xml->channel->item as $value){
$i++;
// echo $i.' '.$value->id . '<br/>';
array_push($array_id_new_feed ,strval($value->id));
}
$i=0;
echo '<br/>Search differnce id between old and new<br/>';
foreach($array_id_old_feed as $array_id_old_feed_item){
//var_dump(in_array($array_id_old_feed_item, $array_id_new_feed));
if(!in_array($array_id_old_feed_item, $array_id_new_feed)){
$i++;
echo '<br/>'.$i.' '.$array_id_old_feed_item;
}
}
echo '<br/>'.$i.' differences finded between old and new<br/>';
echo '<br/>Search differnce id between new and old<br/>';
$i=0;
foreach($array_id_new_feed as $array_id_new_feed_item){
//var_dump(!in_array($array_id_new_feed_item, $array_id_old_feed));
if(!in_array($array_id_new_feed_item, $array_id_old_feed)){
$i++;
echo '<br/>'.$i.' '.$array_id_new_feed_item;
}
}
echo '<br/>'.$i.' differences finded between new and old<br/>';
Для того, чтобы битые изображения заменить стандартной картинкой-заглушкой необходимо поместить данный код в начало 404.php вашей темы вордпресс.
//If they have tried to access an invalid image file, return a 404 image
if ( preg_match( '~\.(jpe?g|png|gif|svg|bmp)(\?.*)?$~i', $_SERVER['REQUEST_URI']))
{
$image404 = locate_template('images/404.png');
if (!is_null($image404))
{
$fp = fopen($image404, 'rb');
header( 'Content-Type: image/png' );
header( 'Content-Length: ' . filesize($image404));
fpassthru($fp);
}
exit;
}
Решение только для сайтов на вордпресс. Код разместить в файле 404.php текущей темы оформления:
<?php
header("HTTP/1.0 404 Not Found");
if (isset($_SERVER['REQUEST_URI']) && preg_match("/(jpg|jpeg|gif|png)$/", $_SERVER['REQUEST_URI']))
{
$src = "noimage.png";
$image = imagecreatefrompng($src);
header("Content-type: image/png");
imagepng($image);
}
get_header();
?>
<style>
.page_404 {
min-height: 80vh;
font-size: 42px;
display: flex;
justify-content: center;
align-items: center;
}
</style>
<div class="page_404">
Page Not Found
</div>
<?php
get_footer();?>
Данный код php разместить в корне сайта, выводит только список страниц у которых код ответа не 200. В том числе страницы с редиректом.
<?php
set_time_limit(0);
$urls = [];
if (($handle = fopen("pages2.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if($data[0] == "#") continue;
$url = $data[0];
$urls[] = $url;
}
fclose($handle);
}
$mh = curl_multi_init();
$ch = [];
foreach ($urls as $k => $url) {
$ch[$k] = curl_init($url);
curl_setopt($ch[$k], CURLOPT_RETURNTRANSFER, true);
curl_multi_add_handle($mh,$ch[$k]);
}
do {
curl_multi_exec($mh, $running);
curl_multi_select($mh);
} while ($running > 0);
foreach(array_keys($ch) as $key) {
// Проверяем наличие ошибок
if (!curl_errno($ch[$key])) {
switch ($http_code = curl_getinfo($ch[$key], CURLINFO_HTTP_CODE)) {
case 200: /*echo 'Код HTTP: ' . $http_code . ' - <a href='.$urls[$key].'>'.$urls[$key].'</a><br />'; # OK*/
break;
default:
echo 'Неожиданный код HTTP: ' . $http_code . ' - <a href='.$urls[$key].'>'.$urls[$key].'</a><br />';
break;
}
}
curl_multi_remove_handle($mh, $ch[$key]);
}
curl_multi_close($mh);