我为自己制作了一个迷你粘贴网站,有点像pastebin但更简单。我需要它来生成一个随机网址(类似于mysite.com/paste/ab8536dc2e,mysite.com?id = b91527a2ac,等格式并不重要),并在其中粘贴。我如何生成这样的网址并将其导入包含我在其中提交的内容的网页?我使用PHP,我更喜欢尽可能保持简单明了,除非需要,否则不要使用MySQL,jQuery等。
答案 0 :(得分:2)
要生成随机路径,您可以使用PHP的内置uniqid() function
您需要在某处存储生成的路径(链接)列表。如果你不想要MySQL - 它可能是SQLite,Memcached甚至是纯文本文件。但是你必须把它们留在某个地方。
根据您选择的框架,您需要设置路由 - 检查链接是否存在(请参阅2),然后显示相应的内容。如果您决定不使用任何框架,您可以简单地解决$ _SERVER ['REQUEST_URI']全局变量。
答案 1 :(得分:2)
您可以使用以下功能:
function randomURL($URLlength = 8) {
$charray = array_merge(range('a','z'), range('0','9'));
$max = count($charray) - 1;
for ($i = 0; $i < $URLlength; $i++) {
$randomChar = mt_rand(0, $max);
$url .= $charray[$randomChar];
}
return $url;
}
调用randomURL()来访问它。
(免责声明:这不是我的代码,我为同样的问题“借用”它。)
检查(Php create a file if not exists)是否使用该字符串在您的网站上创建文件。
答案 2 :(得分:1)
你可以使用这样的东西,然后根据你的意愿使用变量。
public void spinNext(){
try {
int nextIndex = spinnerStudent.getSelectedItemPosition()+1;
if (nextIndex < studentList.size()){
spinnerStudent.setSelection(nextIndex);
}else{
//spinnerStudent.setSelection(0);
try{
timer.cancel();
timer = null;
}catch(Throwable e){
LogUtils.e("test","spinNext",e);
}
}
}catch (Throwable e){
LogUtils.e("test","spinNext",e);
}
}
private Timer timer;
public void onBtnClick(){
try {
if(timer!=null){
try {
timer.cancel();
timer = null;
}catch (Throwable e){
LogUtils.e("test","onBtnClick2",e);
}
}
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
spinNext();
}
});
}
},0,1000);
}catch (Throwable e){
LogUtils.e("test","onBtnClick1",e);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if(timer!=null){
try {
timer.cancel();
timer = null;
}catch (Throwable e){
LogUtils.e("test","ondestroy",e);
}
}
}
其中$ i可以是您想要的任何内容,例如粘贴总数。 不需要for循环