php判断文件是否存在_php判断文件类型
php添加项目点击不存在
; cgi.fix_path provides real PATH_INFO/PATH_TRANSLATED support for CGI. PHP’s请问您想问的是“php添加项目点击不存在的原因?”这个问题吗?该原因有项目路径错误、文件权限问题、代码错误、配置问题。
php判断文件是否存在_php判断文件类型
php判断文件是否存在_php判断文件类型
如果采用源代码安装,一般默认安装在/usr/local/mysql目录下
1、项目路径错误:检查项目路径是否正确,确保指定的项目路径存在}return C('__UPLOADROOT__').$[$photo]["sepath"].$[$photo]["sename"] ;并且可访问。
2、文件权限问题:确保项目目录及其子目录和文件具有适当的权限,以便PHP脚本可以读取和写入文件。
3、代码错误:检查代码中是否存在错误,例如文件路径错误、文件名错误或文件不存在的情况。
4、配置问题:检查配置是否正确,确保PHP模块已正确安装和配置。
电脑出现“No input file specified”是什么原因?
}打开一个页面 然后在游览器下运行 结
以下内容为网络收集
FastCGI模式下访问php文件时,出现No input file specified.错误
原因分析:
任何对.php文件的请求,都简单地交给php-cgi去处理,但没有验证该php文件是否存在。PHP文件不存在,没办法返回普通的404错误,它返回 一个404,并带上一句”No input file specified”
另外,还可能跟 路径或者 权限有关系,或者SCRIPT_FILENAME 变量没有被正确的设置(这在nginx是最常见的原因)
1)如果html也出现404错误,那么就是document root 设置的有问题
2)检查脚本文件的权限, 可能PHP或者web server不能读取它
3)SCRIPT_FILENAME设置错误
可以使用
必须保证 $document_root 在配置文件中,在astcgi_param SCRIPT_FILENAME前面被用到过一次, 后面有解释为什么。
或者
有人说,这样改也行
fastcgi_param SCRIPT_NAME /home/gin/nginx/$fastcgi_script_name;
让我们看看PHP对这两个变量是怎么解释的吧
据说,必须指定正确的SCRIPT_FILENAME, PHP-CGI会忽略SCRIPT_NAME(即使它的值设置的是正确的)
或者指定特殊的php.ini, 设置doc_root, discard path, fix path等等
script_filename 只是被用做一种快捷方式。 如果fix_path设置打开,init函数将它用来决定真实的路径
因为配置文件会改变 nginx的变量$fastcgi_script_name
fastcgi_param SCRIPT_NAME /home/gin/nginx/$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
和fastcgi_param SCRIPT_FILENAME /home/gin/nginx/$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;-v
这两种配置都是可以的
用fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
也是可以的,但必须保证 $document_root 被正确设置过
‘SCRIPT_FILENAME’
当前执行脚本的路径名(pathname)
‘SCRIPT_NAME’
含有当前脚本的路径。当页面需要指向他们自己时,有用. __FILE__ 常量包含路径和文件名
; previous behiour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is. For more rmation on PATH_INFO, see the cgi specs. Setting
; this to 1 will cause PHP CGI to fix it’s paths to conform to the spec. A setting
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; cgi.fix_path=0
主要跟CGI标准的
PATH_INFO
PATH_TRANSLATED
有关系
修修改了好多
最终主要修改的
把 NGINX DEFAULT 那个文件中的
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
改成实际的路径
今天我是这种情况
我的是fastcgi_param SCRIPT_NAME /var/www/nginx-default/$fastcgi_script_name;
然后就好了
---------------------
以上是转载,下面是个人的解决办法:
1. 更改php.{$size = $matches[1];ini
首先php.ini的配置中把
;cgi.fix_path=0 改为
cgi.fix_path=1
2. 在nginx/conf/nginx.conf 找到:
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 改为:
然后重启nginx【killall -9 nginx ,./in/nginx】
结果搞定。:-)
thinkphp 如何判断是否有上传文件,如果没有上传文件,那么就不上传,只保存其它信息,着急!谢谢!
区别在于读取引入文件的时机。如果有编译过程,require的文件会在编译前被引入,而include的文件会在编译后执行的时候被引用。public function _upload($photo){
include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。$upload = new ThinkUpload();
$upload->exts = array('j$img = "./image/1.jpg";//举个例子pg', 'gif', 'png', 'sjpeg');
$upload->rootPath = C('__UPLOADROOT__');
$upload->sePath = '';
$ = $upload->upload();
if(!$) {
$this->error($upload->getError());
}if($_FILES['NL_Cover']['size']>0){
$News->NL_Cover=$this->_upload('NL_Cover');
我linux上面有两个站点用php语言file_exists跨站检测和unlink删除文件为啥失效?
mysql数据目录require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。在/var/lib/mysql目录下跨站点检测和取消链接删除文件不是使用 PHP 语言 file_exists 函数的有效方法。 file_exists 函数用于确定文件是否存在于系统中,而不是删除它。 要删除文件,应该使用 unlink 函数。 此外,使用 file_exists 函数来确定文件是否存在于另一个网站上不是对该函数的这个$filesize就是你所抓取的的大小了,有效使用,并且可能导致潜在的安全问题。
PHP 如何读取手机端的缓存
No input file specified.数据缓存:这里所说的数据缓存是指数据库查询PHP缓存机制,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓存表或文件中获得。
SCRIPT_NAME用的最广的例子看Discuz的搜索功能,把结果ID缓存到一个表中,下次搜索相同关键字时先搜索缓存表。
举个常用的方法,多表关联的时候,把附表中的内容生成数组保存到主表的一个字段中,需要的时候数组分解一下,这样的好处是只读一个表,坏处就是两个数据同步会多不少步骤,数据库永远是瓶颈,用硬盘换速度,是这个的关键点。
2、 页面缓存:
每次访问页面的时候,都会先检测相应的缓存页面文件是否存在,如果不存在,就连接数据库,得到数据,显示页面并同时生成缓存页面文件,这样下次访问的时候页面文件就发挥作用了。(模板引擎和网上常见的一些PHP缓存机制类通常有此功能)
3、 时间触发缓存:
检查文件是否存在并且时间戳小于设置的过期时间,如果文件修改的时间戳比当前时间戳减去过期时间戳大,那么就用缓存,否则更新缓存。
5、 静态缓存:
以上内容是代码级的解决方案,我直接CP别的框架,也懒得改,内容都不多,很容易就做到,而且会几种方式一起用,但下面的内容是端的缓存方案,非代码级的,要有多方的合作才能做到
Memcached是高性能的,分布式的内存对象PHP缓存机制系统,用于在动态应用中减少数据库负载,提升访问速度。
7、 php的缓冲器:
这也算非代码级的,经} else {典的数据库就是用的这种方式,看下面的运行时间,0.09xxx之类的
9、 基于反向的Web缓存:
如Nginx,SQUID,mod_proxy(apache2以上又分为mod_proxy和mod_cache)
[php]require 和include
}else先说一下require和includSCRIP @param string $file 文件路径T_FILENAMEe吧:
关于require_once和include_once,加过“_once”的区别在于:的别在于含“_once”的两个函数会先检查要导入的档案是不是已经在该程序中的其它地方被导入过了,如果有的话就不会再次重复导入该档案。
本人了解的基本就这些。有不全或错误的地方只能请其它人指正了。
php命令行工具检测php文件语法格式是否正确的方法是
解决NGINX PHP "No input file specified"还包括自动检测编码并按指点编码读取文件的函数、源码献上。
$regex = '/Content-Length:s([0-9].+?)s/';代码 代码如下:
Apache模块路径:/usr/in/apachectl检测文件编码
@return string|null 返回 编码名 或 null
/
function detect_encoding($file) {
$str = file_get_contents($file);
foreach ($list as $) {
if (md5($tmp) == md5($str)) {
return $;
}}
return null;
}/
自动解析编码读入文件
@param string $charset 读取编码
@return string 返回读取内容
/
function auto_read($file, $charset='UTF-8') {
$str = file_get_contents($file);
foreach ($list as $) {
if (md5($tmp) == md5($str)) {
return mb_convert_encoding($str, $charset, $);
}}
return "";
不能检查 但可以测试 ,用命令行 php C://index.php
php -l file.php
php -l test.php
php -l index.php
PHP表单提交中遇到这个问题是怎么回事路径没问题换另外一个文件夹是正常的?
// if there was a Content-Length field, its value对于这种原生PHP编写过程中获取变量应该先去判断变量是否存在。
这样也可让php-cgi正常使用SCRIPT_FILENAME这个变量然后再去使用变量,因为在框架(t有eaccelerator, apc, phpa,xcache,这个这个就不说了吧,搜索一堆一堆的,自己看啦,知道有这玩意就OKhinkphp、larel)中应该都是有内置的函数去判断过了。
linux如何查看php环境安装路径
$upload->seName = array ('create_guid');1、首先可以利用find
关于文件编码的检测,百度一下一大把都是,但是确实没有能用的、很多人建议 mb_detect_encoding 检测,可是不知为何我这不成功,什么都没输出、看到有人写了个增强版,用 BOM 判断的,我果断就无视了,这东西完全不靠谱、最终根据PHP手册里 mb_detect_encoding 函数下方的例子,自己写了一个检测函数,/-name
php.ini
查找一下,系统是否有php的配置文件2、利用netstat
-ntpl
-i:9000查看文件位置4、另外,如果系统已经安装了php,你还可以用php
查看版本号,前提是设置环境变量
apache:
如果采用RPM包安装,安装路径应在
/etc/d目录下
apache配置文件:/etc/d/conf/d.conf
web目录:/var/www/html
如果采用源代码安装},一般默认安装在/usr/local/apache2目录下
php:
如果采用RPM包安装,安装路径应在
php的配置文件:/etc/php.ini
如果采用源代码安装,一般默认安装在/usr/local/lib目录下
php配置文件:
/usr/local/lib/php.ini
或/usr/local/php/etc/php.ini
mysql:
如果采用RPM包安装,安装路径应在/usr/share/mysql目录下
mysqldump文件位置:/usr/bin/mysqldump
mysqli配置文件:
/etc/myf或/usr/share/mysql/myf
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。