html代码 创建file文件选择文件
ftp_login() 函数登录 FTP 服务器。
<form action="http://localhost/upload.php" method="post" enctype="multipart/form-data">
<input type="label" name="label" id="label" value="" placeholder="请上传" />
<input type="file" name="myFile" id="myFile" />
<input type="submit" id="" name="" value="提交" />
</form>
php代码
var_dump($_FILES); //获取文件的类型 function getFileType($fileName){ $start=strpos($fileName,"."); $type=substr($fileName,$start); return $type; } $time=time(); $fn=$_FILES["myFile"]["name"]; $timestr=strval($time);//强制转化为str类型 $type=getFileType($fn); $fullName=$timestr.$type; echo $fullName; //把临时文件存储到服务器路径中 $tmp_name=$_FILES["myFile"]["tmp_name"]; $dsPath="myImgs/".$fullName; // if(file_exists($dsPath)){ echo "存在"; }else{ //echo "不存在"; //开始移动文件 $res=move_uploaded_file($tmp_name,$dsPath); var_dump($res); }
$_FILES
$_POST
$_GET
等函数获取表单内容。 或前端传过来的内容
$_FILES数组内容如下: $_FILES['myFile']['name'] 客户端文件的原名称。 $_FILES['myFile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。 $_FILES['myFile']['size'] 已上传文件的大小,单位为字节。 $_FILES['myFile']['tmp_name'] 文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。 $_FILES['myFile']['error'] 和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量) UPLOAD_ERR_OK 值:0; 没有错误发生,文件上传成功。 UPLOAD_ERR_INI_SIZE 值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。 UPLOAD_ERR_FORM_SIZE 值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 UPLOAD_ERR_PARTIAL 值:3; 文件只有部分被上传。 UPLOAD_ERR_NO_FILE 值:4; 没有文件被上传。 值:5; 上传文件大小为0. 文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。所以在删除之前要用PHP的 copy() 函数将它复制到其它位置,此时,才算完成了上传文件过程。echo 输出一个东西,前端能接收到
php var_dump ()函数作用是判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型.
PHP strpos() 函数
strpos() 函数用于检索字符串内指定的字符或文本。
如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。
前面一个参数是要检索的字符串,后面一个是要检索的位置
time()获取当前的时间,返回当前时间的 Unix 时间戳。
file_exists()检查一个文件是否存在,不存在就移动文件
move_uploaded_file() 函数将上传的文件移动到新位置。第一个参数是文件第二个是文件要移动新的位置
FTP上传文件
//ftp 上传文件 //1连接到服务器 //2登录用户名和密码开始上传 //3上传成功 $ftp_connection=ftp_connect("003.3vftp.com"); ftp_login($ftp_connection,"culiuxiang","sxl2719339"); $res=ftp_put($ftp_connection,$fullName,$tmp_name,FTP_BINARY); var_dump($res); ftp_close($ftp_connection);
FTP 函数通过文件传输协议 (FTP) 提供对文件服务器的客户端访问。
FTP 函数用于打开、登录以及关闭连接,同时用于上传、下载、重名命、删除及获取文件服务器上的文件信息。不是所有 FTP 函数对每个服务器都起作用或返回相同的结果。自 PHP 3 起,FTP 函数可用。
ftp_connect() 函数建立一个新的 FTP 连接。
host | 必需。规定要连接的 FTP 服务器。可以是域名或 IP 地址。 后面不应以斜线结尾,前面也不需要用 ftp:// 开头。 |
port | 可选。规定 FTP 服务器的端口。 |
timeout | 可选。规定该 FTP 服务器的超时时间。默认是 90 秒。 |
ftp_connection必需。规定要使用的 FTP 连接(主机地址)。username必需。规定用于登录的用户名。password必需。规定用于登录的密码。
ftp_close()关闭ftp连接
//通过fopen打开文件 $fh=fopen($tmp_name,"r"); 获取文件大小 创建请求对象 $ch=curl_init(); 绑定地址 curl_setopt($ch, CURLOPT_URL, "ftp://003.3vftp.com/images/".$fullName); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_COOKIESESSION, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 300); curl_setopt($ch, CURLOPT_USERPWD, "culiuxiang:sxl2719339"); curl_setopt($ch, CURLOPT_UPLOAD, 1); curl_setopt($ch, CURLOPT_INFILE, $fh); curl_setopt($ch, CURLOPT_INFILESIZE, filesize($tmp_name)); $res = curl_exec($ch); if (!curl_error($ch)) { echo "上传成功" . $res; var_dump($res); } else { echo "上传失败: " . curl_error($ch); }
// PHP 支持 Daniel Stenberg 创建的 libcurl 库,能够连接通讯各种服务器、使用各种协议。libcurl 目前支持的协议
有http、https、ftp、gopher、telnet、dict、file、ldap。 libcurl 同时支持 HTTPS 证书、HTTP POST、HTTP PUT、
FTP 上传(也能通过 PHP 的 FTP 扩展完成)、HTTP 基于表单的上传、代理、cookies、用户名+密码的认证。 //这些函数在 PHP 4.0.2 中引入。
fopen()打开文件, 的第一个参数包含被打开的文件名,第二个参数规定打开文件的模式。
r打开文件为只读。文件指针在文件的开头开始。w打开文件为只写。删除文件的内容或创建一个新的文件,如果它不存在。
文件指针在文件的开头开始。
a打开文件为只写。文件中的现有数据会被保留。文件指针在文件结尾开始。创建新的文件,如果文件不存在。
x创建新文件为只写。返回 FALSE 和错误,如果文件已存在。r+打开文件为读/写、文件指针在文件开头开始。
w+打开文件为读/写。删除文件内容或创建新文件,如果它不存在。文件指针在文件开头开始。
a+打开文件为读/写。文件中已有的数据会被保留。文件指针在文件结尾开始。创建新文件,如果它不存在。
x+创建新文件为读/写。返回 FALSE 和错误,如果文件已存在。
CURLOPT_HEADER
启用时会将头文件的信息作为数据流输出。 CURLOPT_USERPWD 用户名和密码
CURLOPT_UPLOAD
TRUE
准备上传。CURLOPT_INFILE 文件