$_GET[] — it is array, and
1 |
count($_GET); |
return her length.
Прежде всего этот сайт — моя записная книжка, в которой собрана информация, часто используемая при создании сайтов. Здесь я оставляю заметки с кодом для себя.Может быть что-то, будет полезно и другим разработчикам.
$_GET[] — it is array, and
1 |
count($_GET); |
return her length.
В случае проблем с выпуском сертификата помочь может сервис letsdebug.net
При sms рассылках важен размер ссылки, которая будет в тексте сообщения.
В базе данных создается отдельная таблица для хранения короткого урла, и соответствующего ему длинного.
В данную таблицу происходит запись по определенному событию:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
$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 вашей темы вордпресс.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
//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 текущей темы оформления:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?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. В том числе страницы с редиректом.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
<?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); |