php文件存在问题-1000';大量的文件
我有一个包含1000多个子文件夹的文件夹。在每个子文件夹中有1-800个图像,外加一个具有相同数量的较小版本的thumbs文件夹。总共有18000张照片和18000个拇指 我创建了一个脚本,偶尔运行以检查是否所有内容都存在(所有路径、文件夹和照片名称都存储在数据库中) 使用php文件存在问题-1000';大量的文件,php,validation,file,Php,Validation,File,我有一个包含1000多个子文件夹的文件夹。在每个子文件夹中有1-800个图像,外加一个具有相同数量的较小版本的thumbs文件夹。总共有18000张照片和18000个拇指 我创建了一个脚本,偶尔运行以检查是否所有内容都存在(所有路径、文件夹和照片名称都存储在数据库中) 使用file\u exist()或is\u file(),再加上clearstatcache(),我对我的数据库记录运行一个循环,以检查一切是否正常 为了检查脚本是否实际工作,我在表结构中包含了一个检查字段: photo\u当前,
file\u exist()
或is\u file()
,再加上clearstatcache()
,我对我的数据库记录运行一个循环,以检查一切是否正常
为了检查脚本是否实际工作,我在表结构中包含了一个检查字段:
photo\u当前,设置(Y,N)
每次运行脚本时,每个经过验证的照片都会将photo\u present
标志设置为Y
在仅记录300-800条记录之后,脚本给出一个内部服务器错误500
我检查了我的表格,我知道脚本已经运行了一段时间,因为我看到photo\u present
字段设置为Y
我的问题是如何优化它,使
file\u exist()
或is\u file()
将继续工作,直到检查完所有文件为止?如何运行脚本?如果是通过点击网页,可能是您的服务器将脚本的运行时间限制在30秒左右,并在30秒后杀死PHP,从而导致内部服务器错误。如果它是通过cron运行的,也可能是这样,但可能性较小。如何运行脚本?如果是通过点击网页,可能是您的服务器将脚本的运行时间限制在30秒左右,并在30秒后杀死PHP,从而导致内部服务器错误。如果它是通过cron运行的,也可能是这样,但可能性较小。您确定这不是脚本超时吗?检查
我自己认为在浏览文件夹和文件时,GLUB是一个很好的选择,你也许能找到一些东西。
<?php
//get all image files
$files = glob("{*.jpg,*.JPG,*.gif,*.GIF,*.png,*.PNG,*.cr2,*.CR2,*.DNG,*.dng}", GLOB_BRACE);
//print each file name
foreach($files as $file)
{
//Do your db validation here.
//echo "<a href=\"$file\" style=\"display:block;\">$file</a>";
}
?>
您确定这不是脚本超时吗?检查 我自己认为在浏览文件夹和文件时,GLUB是一个很好的选择,你也许能找到一些东西。
<?php
//get all image files
$files = glob("{*.jpg,*.JPG,*.gif,*.GIF,*.png,*.PNG,*.cr2,*.CR2,*.DNG,*.dng}", GLOB_BRACE);
//print each file name
foreach($files as $file)
{
//Do your db validation here.
//echo "<a href=\"$file\" style=\"display:block;\">$file</a>";
}
?>
您有权访问服务器的错误日志吗?查找500错误的确切原因。是的-我扫描了错误日志,除了20-25个jpg文件丢失之外,没有发现任何严重的错误。我只能假设内部服务器500错误是指在观察脚本行为后发生的脚本超时。您有权访问服务器的错误日志吗?查找500错误的确切原因。是的-我扫描了错误日志,除了20-25个jpg文件丢失之外,没有发现任何严重的错误。我只能假设内部服务器500错误是指在观察脚本的行为后发生的脚本超时。实际上,我是通过点击网页来使用它的。还有其他建议吗?我不能设置一个cron@andrew:加快脚本速度,请与主机提供商联系以增加超时或切换到支持cronjobs的主机。您应该尝试设置时间限制(600);这将使脚本运行10分钟(如果您的主机允许您修改运行时环境的这一部分)Matt,我尝试将其设置为600、300甚至0以获得无限,但过了一段时间后,在脚本停止执行之前,我仍然收到该错误。现在我正在搜索一些东西来模拟crontab,因为我没有直接访问权限,实际上我是通过点击网页来使用它的。还有其他建议吗?我不能设置一个cron@andrew:加快脚本速度,请与主机提供商联系以增加超时或切换到支持cronjobs的主机。您应该尝试设置时间限制(600);这将使脚本运行10分钟(如果您的主机允许您修改运行时环境的这一部分)Matt,我尝试将其设置为600、300甚至0以获得无限,但过了一段时间后,在脚本停止执行之前,我仍然收到该错误。现在我正在搜索一些东西来模拟crontab,因为我没有直接访问权限。我尝试设置时间限制(600),甚至300和0 ans仍然不好。此外,我只使用jpg文件,因此您的代码的其余部分对我的场景没有任何用处(我认为),我尝试设置时间限制(600),甚至300和0 ans仍然不好。此外,我只使用jpg文件,因此您的代码的其余部分对我的场景没有任何用处(我认为)