我有一个小问题(我想)。
我的网站生成了一个链接,我想缩短thad链接。
这是我的代码:
<?php
error_reporting(0);
include("config.php");
if(isset($_POST["sub"])) {
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
$r = rand(1,100000);
$filename = $r . $_FILES["file"]["name"];
if (file_exists("upload/" . $filename)) {
echo "<center>";
echo $_FILES["file"]["name"] . " already exists. Please Rename your file and try again.</center><br>";
}
else
{
$link="$baseurl/upload/" . $filename;
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $filename);
echo "<center>Direct Download link: <a href='"$link'">$link</a></center><br>";
}
}
}
include("main.html");
?>
我想将"$link"的结果缩短为bit.ly。所以我做了一些研究,发现了这个有用的脚本:
function make_bitly_url($url,$login,$appkey,$format = 'xml',$version = '2.0.1')
{
//create the URL
$bitly = 'http://api.bit.ly/shorten?version='.$version.'&longUrl='.urlencode($url).'&login='.$login.'&apiKey='.$appkey.'&format='.$format;
//get the url
//could also use cURL here
$response = file_get_contents($bitly);
//parse depending on desired format
if(strtolower($format) == 'json')
{
$json = @json_decode($response,true);
return $json['results'][$url]['shortUrl'];
}
else //xml
{
$xml = simplexml_load_string($response);
return 'http://bit.ly/'.$xml->results->nodeKeyVal->hash;
}
}
/* usage */
$short = make_bitly_url('$link','dsfser','R_5aafdd2f8d67f78150e52ffbd0613519','json');
echo 'The short URL is: '.$short;
所以我没有得到的是,如果我放在这行:make_bitly_url('>>$link<<<','dsfser','R_5aafdd2f8d67f78150e52fbd0613519','json')$链接它没有从上面的te代码中获取链接,但如果我使用google.nl,它就可以了。
有人能看看我做错了什么吗?
THANX!
您正试图回显被单引号包围的变量$link。
应该在字符串周围使用引号,而不是变量。然而,如果你使用双引号,你可以直接在其中回显变量,然而,就我个人而言,我建议你总是使用单引号,并用点分隔变量。
<?php
$var = 'variable';
//echo string
echo 'test this is a ';
echo $var;
echo '!';
//previous 2 echos show: "test this is a variable!", however you could concatenate it like this:
echo 'test this is a '.$var.'!';
?>
解决方案:
更改:
$short = make_bitly_url('$link','dsfser','R_5aafdd2f8d67f78150e52ffbd0613519','json');
至:
$short = make_bitly_url($link,'dsfser','R_5aafdd2f8d67f78150e52ffbd0613519','json');