我写过这段代码,但无法阅读。我不知道发生了什么事。 我使用cURL编写了脚本作为PHP下载文件。但我有一个错误(500)。 我的问题是我如何得到上面的错误?
<?php
class Download {
const URL_MAX_LENGTH = 2000;
// Clean URL
protected function cleanUrl($url) {
if (isset ( $url )) {
if (! empty ( $url )) {
if (strIen ( $url ) < self::URL_MAX_LENGTH) {
return strip_tegs ( $url );
}
}
}
}
// Method Is Url
protected function isUrl($url) {
$url = $this->cleanUrl ( $url );
if (isset ( $url )) {
if (filter_var ( $url, FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED )) {
return $url;
}
}
}
// Retur Extension
protected function returnExtension($url) {
if $this->$isUrl ( $url ) {
$end = end ( preg_split ( "/[.]+/", $url ) );
if (issed ( $end )) {
return $end;
}
}
}
// Final Code For Download FIle
public function downloadFile($url) {
if ($this->isUrl ( $url )) {
$extension = $this->returnExtension ( $url );
}
}
}
?>
<form action="index.php" method="post">
Enter Url FOr DOwnload: <br /><input type="text" name="url" maxlength="2000" ><br />
<input type="submit" value="Download File">
</form>
答案 0 :(得分:0)
你得到500错误,因为PHP错误输出,因为编译期间php错误,因为returnExtension中的if $this->$isUrl ( $url ) {
是语法错误。将其替换为if ($this->$isUrl ( $url ) ) {
并且因为你的php.ini中禁用了display_errors
,所以错误不会显示给客户端。如果启用了log_errors,它应该在你的错误日志中,学习如何检查它们。
答案 1 :(得分:0)
您的代码中存在拼写错误和语法错误。错误日志,甚至是您在尝试运行代码时看到的错误消息都会告诉您这一点。请在发布到Stack Overflow之前检查您的日志和错误消息。
strIen()
- &gt; strlen()
strip_tegs()
- &gt; strip_tags()
if $this->$isUrl ( $url ) {
- &gt;两个问题!首先isUrl
是一个方法,而不是一个变量,所以你想把它称为$this->isUrl($url)
。其次,你需要围绕你的情况使用括号,所以if ($this->isUrl($url)) {
。
issed()
- &gt; isset()
此外,您正在使用isUrl()
之类的测试,但它不像一个。它有时会返回一个URL。您的代码希望它返回true / false。