当我试图在循环时获取变量时,它冻结了我的屏幕,我得到了以下错误:
致命错误:第16行/home/diligenceh/domains/diligencehelps.com/public_html/upload_lesson.php中超过了30秒的最长执行时间
循环:
$lesson_count = preg_replace('#[^0-9]#', '', $_POST['description_count']);
for($i = 1; $i <= $lesson_count; $i++)
{
$image_url_ + $i = $_POST['image_url_'+ $i];
echo $image_url_ + $i;
}
我认为您的代码一定是这样的:
$_POST['description_count'] = preg_replace('#[^0-9]#', '', $_POST['description_count'], -1, $lesson_count);
for($i = 1; $i <= $lesson_count; $i++) {
echo $_POST['image_url_'.$i];
}
支付以下费用:
1.-preg_replace((中的第四个参数包含所进行的替换次数。
2.-函数preg_replace返回经过更改的原始字符串。请在此处阅读手册:http://cl1.php.net/manual/en/function.preg-replace.php
3.-我不明白你在这里想做什么:
$image_url_ + $i = $_POST['image_url_'+ $i];
您使用加号(+(而不是句点(.(来连接字符串。
你的循环是一个无尽的循环
尝试添加类似ini_set('max_execution_time', 300);
//300是秒
创建一个数组(这是你的意图吗?(
$lesson_count = preg_replace('#[^0-9]#', '', $_POST['description_count']);
$image_url = array();
for($i = 1; $i <= $lesson_count; $i++) {
$image_url[$i] = $_POST['image_url_'+ $i];
echo $image_url[$i];
}
另外,你确定$lesson_count
是一个大于零的整数吗?我怀疑不是,因为这是用户输入。你可以试着用把它变成一个整数
$lesson_count = (int) preg_replace(...);
更新php.ini文件,这样可以增加执行时间。更新max_execution_time
默认情况下为30
增加你在那里的执行时间。例如max_execution_time = 100