尔格。从过去几天的高推文ID开始(至少,它看起来与ID相关,但我认为它可能是api返回的最近一些变化)正在破坏我的代码。起初我尝试将ID作为字符串而不是整数传递给此函数,我认为这有效,但实际上只是从我的结尾上传文件的过程。
简而言之,php脚本会生成这些函数调用,当它执行此操作时,它们会失败。如果我下载生成调用的php文件,删除服务器副本并重新上传完全相同的文件而不更改它,它工作正常。有谁知道可能导致这种行为的原因是什么?
以下是我怀疑是拉动错误的各个文件中最重要的部分。每个文件都以状态ID命名(例如,下面的文件名为12058543656.php)
<?php
require "singlePost.php";
SinglePost(12058543656)
?>
以下是编写上述文件的代码:
$postFileName = $single_post_id.".php";
if(!file_exists($postFileName)){
$created_at_full = date("l, F jS, Y", strtotime($postRow[postdate])-(18000));
$postFileHandle = fopen($postFileName, 'w+');
fwrite($postFileHandle, '<html>
<head>
<title><?php $thisTITLE = "escarp | A brief poem or short story by '.$authorname.' on '.$created_at_full.'"; echo $thisTITLE;?></title><META NAME="Description" CONTENT="This brief poem or short story, by '.$authorname.', was published on '.$created_at_full.'">
<?php include("head.php");?>
To receive other poems or short stories like this one from <a href=http://twitter.com/escarp>escarp</a> on your cellphone, <a href=http://twitter.com/signup>create</a> and/or <a href=http://twitter.com/devices>associate</a> a Twitter account with your cellphone</a>, follow <a href=http://twitter.com/escarp>us</a>, and turn device updates on.
<pre><?php
require "singlePost.php";
SinglePost("'.$single_post_id.'")
?>
</div></div></pre><?php include("foot.php");?>
</body>
</html>');
fclose($postFileHandle);}
$postcounter++;
}
如果你在这里看不到任何内容,我可以发帖更多,但是涉及到几个文件,我试图避免抛弃大量不相关的代码。
错误:
警告:include(head.php)[function.include]:无法打开流:第4行/f2/escarp/public/12177797583.php中没有此类文件或目录 警告:include(head.php)[function.include]:无法打开流:第4行/f2/escarp/public/12177797583.php中没有此类文件或目录
警告:include()[function.include]:无法打开'head.php'以包含(include_path ='。:/ nfsn / apps / php5 / lib / php /:/ nfsn / apps / php / lib / php /')在第4行的/f2/escarp/public/12177797583.php中 要通过手机上的escarp接收其他诗歌或短篇小说,请使用手机创建和/或关联Twitter帐户,关注我们,并打开设备更新。
警告:require(singlePost.php)[function.require]:无法打开流:第7行/f2/escarp/public/12177797583.php中没有此类文件或目录
警告:require(singlePost.php)[function.require]:无法打开流:第7行/f2/escarp/public/12177797583.php中没有此类文件或目录
致命错误:require()[function.require]:打开所需的'singlePost.php'失败(include_path ='。:/ nfsn / apps / php5 / lib / php /:/ nfsn / apps / php / lib /第7行/f2/escarp/public/12177797583.php中的php /')
SinglePost()
<?php
function SinglePost($statusID) {
require "nicetime.php";
$db = sqlite_open("db.escarp");
$updates = sqlite_query($db, "SELECT * FROM posts WHERE postID = '$statusID'");
$row = sqlite_fetch_array($updates, SQLITE_ASSOC);
$id = $row[authorID];
$result = sqlite_query($db, "SELECT * FROM authors WHERE authorID = '$id'");
$row5 = sqlite_fetch_array($result, SQLITE_ASSOC);
$created_at_full = date("l, F jS, Y", strtotime($row[postdate])-(18000));
$created_at = nicetime($row[postdate]);
if($row5[url]==""){
$authorurl = '';
}
else{
/*I'm omitting a few pages of output code and associated regex*/
return;
}
?>
答案 0 :(得分:0)
我怀疑高ID值是否会导致您的问题(至少与数据类型无关)。
当PHP检测到整数溢出时,it automatically converts the value to a float会阻止它。因此,您可以(有些)代表大数字而没有任何问题。
话虽如此,请确保文件的完整路径不超过文件系统的路径长度限制,并且文件夹中的文件数也不超过限制(例如,65534条目是 NTFS 分区的最大值。