当我在循环时尝试获取变量时,它只是冻结了我的屏幕并且出现了以下错误:
致命错误:第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;
}
答案 0 :(得分:0)
你的循环是一个无限循环
尝试添加ini_set('max_execution_time', 300);
// 300秒秒
答案 1 :(得分:0)
创建一个数组(那是你的意图吗?)
$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(...);
答案 2 :(得分:0)
更新您的php.ini文件,您可以在其中增加执行时间。
更新max_execution_time
默认为30
增加你的执行时间。例如max_execution_time = 100
答案 3 :(得分:0)
我认为您的代码必须是这样的:
$_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()中的第4个参数包含替换次数。
2.-函数preg_replace返回包含更改的原始字符串。请阅读此处的手册:http://cl1.php.net/manual/en/function.preg-replace.php
3.-我不明白你在这里想做什么:
$image_url_ + $i = $_POST['image_url_'+ $i];
你使用加号(+)而不是点(。)来连接字符串。