㈠ php如何获取文件大小php如何获取文件大小和内容
php如何获取文件大小
该函数通过头信息获取远程文件大小,代码如下:if($FP=@fsockopen($URL[主持人],空($URL[港口])?80美元:网址[港口],$error)){
fputs($FP,路径])?/:$URL[路径])."HTTP/1.1r
fputs($FP,r
而(!feof($fp)){
$tmp=fgets($FP);
if(trim($tmp)==){
打破;
}elseif(preg_match(/Content-Length:(。*)/si,$tmp,$arr)){
returntrim($arr[1]);
}
}
返回null
}否则{
返回null
}
}
?/Article/uploadfiles/201001/20100104122349734.gif)
这个函数可以很好的获取远程文件的大小,无论远程文件有多大,采集速度都丝毫不受影响。
php网站通过上传附件上传视音频时提示文件大小超限,已修改过post_max_size和upload_max_filesize?
可能代码中就限制了上传文件大小,这个需要你去改代码。
先找到这段代码函数,看看有没有限制上传大小。
如何通过配置php文件限制上传文件的大小?
在网站开发的过程中,为了确保能够充分利用服务器的空间,在开发上传功能时,必须对上传文件的大小进行控制。
那么我们如何进行对上传文件的大小进行控制呢?控制文件的大小可以从两个方面入手:第一个是在PHP的配置文件php.ini中对上传文件进行控制,如果上传文件超过它指定的范围,那么执行上传就会识别。第二个是在PHP配置文件允许的范围内,在程序中对上传文件的大小进行控制!一:通过配置文件控制上传文件PHP中通过php.ini文件对上传文件进行控制,包括是否支持上传,上传文件的临时文件目录,上传文件的大小,指令执行时间,指令分配的内存空间。在php.ini中,定义FileUploads项,完成对上传相关选项的设置。上传相关选项的含义如下:file_uploads:如果值是no,说明服务器支持上传文件,如果为off,那么则不支持。一般默认是支持的,这个不用修改!upload_tmp_dri:上传文件临时目录。文件被成功上传之前,文件首先存放到服务器端的临时目录中。多数使用系统默认目录,但是也可以自行设置!upload_max_filesize:服务器允许上传文件的最大值,以MB为单位,系统默认为2MB,如果网站需要上传超过2MB的数据,那么就要修改这个值!上述是php.ini中File_Uploads项中与上述相关参数设置说明,除了File_Uploads项中的内容外,在php.ini中还有其他几个选项会影响到文件的上传~max_execution_time:PHP中一个指令所能执行的最大时间,单位为秒。该选项在上传超大文件时必须要修改,否则即使上传文件在服务器允许的范围内,但是若超过了指令所能执行的最大时间,仍然无法实现上传~memory_limit:PHP中一个指令所分配的内存空间,单位是MB。它的大小同样会影响得到超大文件的上传!二:在程序中控制上传文件在客户端控制上传文件应用的是form表单中的enctype和method属性以及隐藏域MAX_FILE_SIZE。enctype=“multipart/form-data”:指定表单编码数据方式。method=“post”:指定数据的传输方式。:通过隐藏域控制上传文件的大小(单位为字节),该值不能超过php.ini配置文件中upload_max_filesize选项设置的值,它不能喝完全控制上传文件的大小。只是可以避免一些不必要的麻烦。技巧:在应用隐藏域控制文件上传大小时,必须将其放置在文件域之前,否则是不能发挥作用的!ps怎么把图片保存为2m?
ps把图片保存为2m的方法步骤
1.使用Phptoshop打开图片。
2.点击图像-图像大小。
3.设置宽度和高度,点击确定。
4.点击文件-另存为,设置保存路径,点击保存。
5.在指定路径查看图片。
excel表格文件容量太大怎么解决?
1、选中表格数据之后的一行数据。
2、按“Ctrl+Shift+↓”(下箭头),选中所有的空白单元格,excel2003有65535行数据,excel2007及以上的版本都有10万行数据。3、右键一下,点击“删除”。4、最后点击保存按钮,保存修改。5、现在就会发现表格就只剩几十kb了。PHP文件是什么文件?怎么打开?
以php后缀的文件,是php脚本文件。php是一种创建动态交互性站点的强有力的服务器端脚本语言。如果要编辑或者打开的话,下载相应的编辑器即可。例如:editplus,notepad++,zendstudio等等。
㈡ PHP 中如何在同一个文件中写入而不覆盖以前写的内容
以a方式打开文件可以在文件的末尾写入内容,例如下面的代码在文件的a.txt的末尾添加123:
<?php
$fp=fopem("a.txt","a");
fputs($fp,"123");
fclose($fp);
?>
其它打开方式的说明:
'r' 只读方式打开,将文件指针指向文件头。
'r+' 读写方式打开,将文件指针指向文件头。
'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
'a' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
'a+' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
'x' 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
'x+' 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
㈢ 万网m3空间我装wordpress程序,PHP函数fsockopen可以关闭吗
既然楼主只是使用wordpress建立普通的博客站点,个人意见,这个函数关闭比较好,因为你制作的wordpress基本上是用不到这个函数的。而且此函数作为PHP制作人员,一般情况下,我们还是不使用的,倒不是说此函数没用。
这个函数具体的功能如下(是我复制网络的)
【目前这个函数提供二个 Socket 资料流界面,分别为 Internet 用的 AF_INET 及 Unix 用的 AF_UNIX。
当在 Internet 情形下使用时,参数 hostname 及 port 分别代表网址及端口号。在 UNIX 情形可做 IPC,hostname 参数表示到 socket 的路径,port 配置为 0。
可省略的 timeout 选项表示多久没有连上就中断。
在使用本函数之后会返回文件指针,供文件函数使用,包括 fgets()、fgetss()、fputs()、fclose() 与 feof()。参数 errno 及 errstr 也是可省略的,主要当做错误处理使用。
使用本函数,会使用搁置模式 (blocking mode) 处理,可用 set_socket_blocking() 转换成无搁置模式。】
㈣ php 怎么调用打印机的控制命令
ESC使用\033表示,LF为\012,CR为\015
例如释放纸的ESC q使用下面的命令输出:
fputs($prn,"\033q");
fputs把内容发送给第一句,或者使用其它函数。
最后说明,上面的033、012、015是八进制
㈤ 如何通过php连接远程主机并操作
一、最佳方案是在77机器上安装apache和php
二、可以通过管道控制使用telnet登录77号机执行命令并获取结果,ssh连接本人没有做过,telnet方法如下:
$f=fopen("telnet://192.168.0.77","rw");
$s=fgets($fp);
fputs($fp,"root");
$s=fgets($fp);
fputs($fp,"pass");
$s=fgets($fp);
fputs($fp,"df -h");
while(!feof($fp)){
$fp=fgets($fp);
echo $s;
}
fclose($fp);
手机输入真累~~~
㈥ 如何新建一个php项目
php项目开发过程中,常常需要自动创建一些文件,如生成静态html,生成php缓存文件,生成txt文件等等。下面就分享一下如何利用php程序创建文件,并向文件中写入内容。
一个项目中,可能不止一次需要生成文件,因此我们可以定义一个函数,当需要创建文件时再来调用这个函数,即可。
步骤一、定义函数writefile,用于以写的方式打开一个文件,文件不存在时自动创建,并向文件写入内容,代码如下。
01 <?php
02
03 function writefile($fname,$str){
04
05 $fp=fopen($fname,"w");
06
07 fputs($fp,$str);
08
09 fclose($fp);
10
11 }
12
13 ?>
步骤二、函数的使用。如创建test.txt文件,并写入内容“abc”,代码如下:
1 <?php
2
3 $filename='test.txt';
4
5 $str='abc';
6
7 writefile($filename,$str);
8
9 ?>
通过上述两个步骤的操作,即可实现php创建文件的功能。
㈦ PHP fputs说明
在PHP中,fputs是一个强大的函数,它用于向文件指针file中写入字符串。与fwrite()类似,fputs的主要任务是将指定的字符串内容写入文件,但它的操作方式稍有不同。
与fwrite()不同,fputs并不接受长度参数,而是直接将整个字符串一次性写入。这意味着你不需要预先知道要写入多少字节,fputs会自动处理直到字符串结束或者达到文件的当前写入位置。一旦字符串写入完成,函数会停止,返回已写入的字符数。如果在写入过程中遇到任何错误,fputs将返回false,以指示写入失败。
总的来说,fputs提供了一种简洁的方式来将数据写入文件,尤其适合于需要一次性写入大量数据的情况。它的返回值可以用于检测写入操作是否成功,这对于错误处理和控制程序流程非常有用。在PHP的文件操作中,fputs是不可或缺的一个工具。
㈧ 用PHP发送电子邮件的方法
<?
/*
* 邮件发送类
*/
class smail {
//您的SMTP 服务器供应商,可以是域名或IP地址
var $smtp = "";
//SMTP需要要身份验证设值为 1 不需要身份验证值为 0,现在大多数的SMTP服务商都要验证,如不清楚请与你的smtp 服务商联系。
var $check = 1;
//您的email帐号名称
var $username = "";
//您的email密码
var $password = "";
//此email 必需是发信服务器上的email
var $s_from = "";
/*
* 功能:发信初始化设置
* $from 你的发信服务器上的邮箱
* $password 你的邮箱密码
* $smtp 您的SMTP 服务器供应商,可以是域名或IP地址
* $check SMTP需要要身份验证设值为 1 不需要身份验证值为 0,现在大多数的SMTP服务商都要验证
*/
function smail ( $from, $password, $smtp, $check = 1 ) {
if( preg_match("/^[^\d\-_][\w\-]*[^\-_]@[^\-][a-zA-Z\d\-]+[^\-](\.[^\-][a-zA-Z\d\-]*[^\-])*\.[a-zA-Z]{2,3}/", $from ) ) {
$this->username = substr( $from, 0, strpos( $from , "@" ) );
$this->password = $password;
$this->smtp = $smtp ? $smtp : $this->smtp;
$this->check = $check;
$this->s_from = $from;
}
}
/*
* 功能:发送邮件
* $to 目标邮箱
* $from 来源邮箱
* $subject 邮件标题
* $message 邮件内容
*/
function send ( $to, $from, $subject, $message ) {
//连接服务器
$fp = fsockopen ( $this->smtp, 25, $errno, $errstr, 60);
if (!$fp ) return "联接服务器失败".__LINE__;
set_socket_blocking($fp, true );
$lastmessage=fgets($fp,512);
if ( substr($lastmessage,0,3) != 220 ) return "错误信息1:$lastmessage".__LINE__;
//HELO
$yourname = "YOURNAME";
if($this->check == "1") $lastact="EHLO ".$yourname."\r\n";
else $lastact="HELO ".$yourname."\r\n";
fputs($fp, $lastact);
$lastmessage == fgets($fp,512);
if (substr($lastmessage,0,3) != 220 ) return "错误信息2:$lastmessage".__LINE__;
while (true) {
$lastmessage = fgets($fp,512);
if ( (substr($lastmessage,3,1) != "-") or (empty($lastmessage)) )
break;
}
//身份验证
if ($this->check=="1") {
//验证开始
$lastact="AUTH LOGIN"."\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return "错误信息3:$lastmessage".__LINE__;
//用户姓名
$lastact=base64_encode($this->username)."\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return "错误信息4:$lastmessage".__LINE__;
//用户密码
$lastact=base64_encode($this->password)."\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != "235") return "错误信息5:$lastmessage".__LINE__;
}
//FROM:
$lastact="MAIL FROM: <". $this->s_from . ">\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 250) return "错误信息6:$lastmessage".__LINE__;
//TO:
$lastact="RCPT TO: <". $to ."> \r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 250) return "错误信息7:$lastmessage".__LINE__;
//DATA
$lastact="DATA\r\n";
fputs($fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 354) return "错误信息8:$lastmessage".__LINE__;
//处理Subject头
$head="Subject: $subject\r\n";
$message = $head."\r\n".$message;
//处理From头
$head="From: $from\r\n";
$message = $head.$message;
//处理To头
$head="To: $to\r\n";
$message = $head.$message;
//加上结束串
$message .= "\r\n.\r\n";
//发送信息
fputs($fp, $message);
$lastact="QUIT\r\n";
fputs($fp,$lastace);
fclose($fp);
return 0;
}
}
/*发送示例
$sm = new smail( "用户名@163.com", "密码", "smtp.163.com" );
$end = $sm->send( "目标邮箱", "来源邮箱", "这是标题", "这是邮件内容" );
if( $end ) echo $end;
else echo "发送成功!";
*/
?>