Я боюсь, что Вы не можете сделать этого в функции
, Когда Вы пытаетесь объявить функцию как:
create function dbo.textReplace(
@inText as text)
returns text
as
begin
return 'a' -- just dummy code
end
Вы получите следующую ошибку:
The text data type is invalid for return values.
, Другими словами, Вы не могли записать простой эквивалент функции ЗАМЕНЫ для типа данных text
В качестве альтернативы curl вы можете использовать параметры контекста http, чтобы установить для метода запроса значение HEAD
. Затем откройте поток (обертку http) с этими параметрами и получите метаданные.
$context = stream_context_create(array('http' =>array('method'=>'HEAD')));
$fd = fopen('http://php.net', 'rb', false, $context);
var_dump(stream_get_meta_data($fd));
fclose($fd);
см. Также:
http://docs.php.net/stream_get_meta_data
http://docs.php.net/ context.http
Вы можете сделать это аккуратно с помощью cURL :
<?php
// create a new cURL resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
// This changes the request method to HEAD
curl_setopt($ch, CURLOPT_NOBODY, true);
// grab URL and pass it to the browser
curl_exec($ch);
// Edit: Fetch the HTTP-code (cred: @GZipp)
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// close cURL resource, and free up system resources
curl_close($ch);
Даже проще, чем curl - просто используйте функцию PHP get_headers ()
, которая возвращает массив всей информации заголовка для любого указанного вами URL. И еще один очень простой способ проверить наличие удаленного файла - использовать fopen ()
и попытаться открыть URL-адрес в режиме чтения (для этого вам нужно включить allow_url_fopen).
Просто проверьте руководство по PHP для этих функций, все это там.