Linux shell判断语句

我们知道shell拥有简单的编程语言结构,我们可以很容易得编写出实用的程序在linux下。最近在做一个方案,其中遇到判断语句,下面就把这些常用的判断句给记录下来:

首先定义环境变量:

#!/bin/bash

#比如需要判断一个变量是否含有值:

if [[ -z $1 ]] ; then
echo "Something like empty!"
exit 0;
fi

继续阅读

发表在 未分类

PHP获取远程xml并对其判断

最近想要实现一种能远程批量获取xmlphp类,在以前申请的免费空间中做测试,测试成功,并记录下来:

先前我把页面存放在多个服务器上比如A,B,C代表3个不同站点,上面存放xml文件。

那么思路是这样的:先用file_get_contents函数远程调用xml过来,再对xml判断→分析页面含有指定元素→再做下一步处理

$pageback=file_get_contents($url."createxml.php");
if(strstr($pageback,"playlist")) {   //判断链接中是否含有playlist关键字
$xml = new DOMDocument();
$xml->load($url.'playlist.xml');  //条件通过就调用xml文件
foreach($xml->getElementsByTagName('url') as $url) {
$value = $url->firstChild->nodeValue;
echo '<track><url>'.$value.'</url></track>';   //生成xml节点
}
}

继续阅读

发表在 未分类

PHP获取当前路径

在使用php做些站点的时候常常用到一些系统函数,今天列出一些关于服务器方面的函数:

$_SERVER["HTTP_REFERER"]=http://localhost/malu/   \\获取当前路径

比如获取当前页面路径:

<?php
$host=$_SERVER["HTTP_REFERER"];
echo "<a href=".$host.">".$host."</a>";
?>

下面再列举一些常用的server函数:

继续阅读

发表在 未分类

php上传下载ftp传送文件源码

php网页程序去连接ftp服务器,首先要确保php所在站点可以与ftp通讯,然后php所需的传送函数没有被禁用。

确保了以上工作,就可以开始执行下面给出代码了:

上传代码:

<?php
$ftp_server= "xx.xxx.xxx.xx";
$ftp_user_name= "ftpname";
$ftp_user_pass= "ftppasswd";
$local_file = "bao.zip";        //本地文件
$server_file = "/bao.zip";       //待上传后文件所在路径
$conn_id = ftp_connect($ftp_server);         //联接FTP
$login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass) or die("Login error");  //登录
$fp=fopen($local_file,"r");
ftp_pasv($conn_id, true);               //开启被动模式传输 (在非开启的情况下,由于本地的防火墙等限制,将有可能出现Warning: ftp_fput() [function.ftp-fput]: Opening ASCII mode data connection的警告从而上传失败
//上传参数
if(ftp_fput($conn_id,$server_file,$fp,FTP_BINARY)) {
echo "Successfully uploaded $server_file\n";
}else{
echo "There was a problem while uploading $file\n";
}
//关闭连接
ftp_close($conn_id);
fclose($fp);
?>

继续阅读

发表在 未分类

PHP出现Parse error: syntax error, unexpected T_VARIABLE解决办法

PHP出现Parse error: syntax error, unexpected T_VARIABLE报错往往摸不着头脑,代码检查过多次也找不到错误。

为了方便,在网上找了php代码直接复制下来使用,然后出现了如上错误,google了下,说是源码中有乱码符号,比如乱码空格。

前段时间用vim格式化,现在可以用上了:

用gvim打开php文件,输入:

继续阅读

发表在 未分类

Shell下的输出重定向

Shell脚本中常用到输出重定向,下面的讲解很容易理解,(原文出处已经无法找到):

Linux Shell 环境中支持输入输出重定向,用符号”<”和”>”来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>a.txt 表示将错误信息输出到文件a.txt中。

同时,还可以在这三个标准输入输出之间实现重定向,比如将错误信息重定向到标准输出,可以用 2>&1来实现。

继续阅读

发表在 未分类

linux利用wget命令备份网站(镜像拷贝)

上篇文章写到使用curl下载上传ftp,陋室博客最近想把之前的实验页面做一个镜像站点,不过由于curl不支持递归下载,所以当要备份一个ftp服务器上的文件时,略显不足。

还好linux为我们提供了更加强大的命令wget,下面来看一下wget如何备份一个网站下所有文件:

首先下载ftp服务器上的所有文件用递归参数-r:

wget  ftp://name:passwd@ftp.malu.me -r

继续阅读

发表在 未分类

使用curl下载上传ftp

curl可以在shell下轻松上传下载ftp上的文件,相比ftp命令更具有优势,因为它能在单命令条件下,下载或者上传一个ftp文件,甚至可以删除文件。

下面看实例:

列出ftp服务器上的目录列表:

curl ftp://malu.me/ --user name:passwd
curl ftp://malu.me/ –u name:passwd    #简洁写法
curl ftp://name:passwd@malu.me     #简洁写法2

只列出目录,不显示进度条

curl ftp://malu.me –u name:passwd -s

继续阅读

发表在 未分类