abstract class A extend B interface C
{
private property $b;
final protected function x() { return new static; }
}
абстрактный класс А, сын Бэ и лицом-похож-на Цэ
{
частная собственность $бэ;
конченная защищаемая функция икс() { вернуть новую неподвижность }
}
<html>
<head>
<title>город1</title>
</head>
<body>
<h1>город1</h1>
<p>Этот город1 самый лучший город1 на земле</p>
</body>
</html>
<?php
var_dump($_SERVER);
$headers = array(
/* условно, добавить/удалить при необходимости */
'date' => '2015-08-28T09:41:49+04:00',
'content-length' => '198284',
'content-md5' => 'ea200caec1ed9ef712fddafe4e2361e4',
'x-upload-filename' => 'file_name.ext',
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); // вместо curl_setopt($ch, CURLOPT_PUT, true);
// и обязательно заголовок передать array('content-length' => 'число байт в файле')
<?php
$link = "http://www.aliexpress.com/item/Wholesale-price-free-shipping-good-quality-high-clear-phone-back-screen-protect-film-For-Huawei-Ascend/32258530279.html";
$ch = curl_init();
curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" );
curl_setopt( $ch, CURLOPT_URL, $link );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_ENCODING, "" );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
$ali = curl_exec( $ch );
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
if ($error) // ошибка curl, например таймаут
{
echo 'CURL error occurred during the request: ' . $error;
echo "\n";
} elseif ($http_code<200 || $http_code>=300) // код возврата не 200
{
echo 'HTTP error ' . $http_code. ' occurred during the request';
echo "\n";
var_dump(curl_getinfo( $ch )); // там все заголовки и другая отладочная информация
} else
{
print_r($ali);
}
$client = new GuzzleHttp\Client();
$res = $client->get('http://www.aliexpress.com/item/Wholesale-price-free-shipping-good-quality-high-clear-phone-back-screen-protect-film-For-Huawei-Ascend/32258530279.html');
echo $res->getStatusCode();
// "200"
echo $res->getHeader('content-type');
// 'text/htm; charset=utf8'
echo $res->getBody();
// <html ...
<любой язык программирования>
", а за то, что приложения, написанные на этом языке, будут быстрыми, красивыми, удобными и принесут денежку работодателю.Ведь если делать как я придумал, то файл будет болтаться где то в папке веб сервера, доступен из вне для скачивания, и нужно писать какой то сборщик мусора на том же кроне.
PHP Strict Standards: Only variables should be passed by reference
/* где-то в недрах Wordpress*/
function get_comments($condition) { return array(); } // результат функции get_comments() не является объектом и не возвращает ссылку
function separate_comments(&$comments) { } // параметр функции separate_comments() должен передаваться по ссылке
/* где-то у вас */
separate_comments(get_comments()); // <-- в данном случае недопустимо
<?php
/**
* @see http://php.net/manual/ru/class.ziparchive.php
*/
class MyZipArchive extends ZipArchive // унаследовал
{
public function addFiles($files = array()) // расширил
{
// ... см. http://davidwalsh.name/create-zip-php
}
}
$zip = new MyZipArchive;
$zip->open($zipTmpAbsFilePath, \ZipArchive::OVERWRITE);
$zip->addFiles(array(
'preload-images/1.jpg',
'rod.jpg',
));
// ещё есть стандартные функции
// $zip->addGlob('path/to/files/*.*');
// $zip->addPattern('*.*', 'path/to/files/')
$zip->close();
UPD: Одним из главных требований дипломной работы - применение работы в реальной жизни. Такие работы лучше оцениваются и защита проходит легче.
<?php
class Dummy
{
/**
* Хранимый ли?
* @var boolean
*/
private $persistent = true;
public $me;
function __construct($me)
{
$this->me = $me;
}
public function forgetMe()
{
$this->persistent = false; // теперь нехранимый
}
/**
* Какая то логика при сохранении
*/
public function save()
{
if (!$this->persistent) // если нехранимый
{
echo $this->me . " was NOT saved\n";
return true; // понять, простить и забыть
}
echo $this->me . " saved OK\n";
}
}
$obj1 = new Dummy('first');
$obj2 = new Dummy('second');
$obj1->forgetMe();
$obj1->save(); // -> first was NOT saved
$obj2->save(); // -> second saved OK
a:3:{i:0;s:2:"53";i:1;s:2:"55";i:2;s:2:"56";}
<?php
$a = array(
0 => "53",
1 => "55",
2 => "56"
);
$b = serialize($a);
echo $b; # a:3:{i:0;s:2:"53";i:1;s:2:"55";i:2;s:2:"56";}