求教 报这个异常可能是什么原因
Jun 13, 2016 pm 12:10 PM
求教 报这个错误可能是什么原因
本地安装的ecshop网站传到网上报这个错误 Strict Standards: Only variables should be passed by reference in lib_main.php on line 2661 本地php是5.2的
这个文件 的2661行是这样的 $ext = end(explode('.', $tmp));
$tmp = basename($tmp,".$ext"); 求教可能是什么原因
------解决思路----------------------
Strict Standards: Only variables should be passed by reference
严格的标准:在这里只能是变量
$ext = end(explode('.', $tmp));
应写作
$t = $ext = explode('.', $tmp);
$ext = end($t);
这是 php 5.4 以后才有的错误检查
其实 php 早就已经提供了更简洁的函数
$ext = pathinfo($tmp, PATHINFO_EXTENSION);
------解决思路----------------------
end需要的参数是引用类型 ,引用类型必须是左值,如下
mixed end ( array &$array )
而函数explode返回的的是右值,是不能作为引用的
------解决思路----------------------
mixed end ( array &$array )
end内参数是引用类型。
是explode返回的并不是变量,所以出错。
其实改一改就可以。
<br />$ext = substr($tmp, strrpos($tmp,'.')+1);<br />
或
<br />$ext = explode('.', $tmp);<br />$ext = array_pop($ext);<br />echo $ext;<br />

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Solution : Votre organisation vous demande de modifier votre code PIN

Comment ajuster les paramètres de bordure de fenêtre sous Windows 11 : modifier la couleur et la taille

Comment changer la couleur de la barre de titre sous Windows 11 ?

Le principe de nettoyage du dossier /tmp/ dans le système Linux et le rôle du fichier tmp

Comment activer ou désactiver les aperçus miniatures de la barre des tâches sur Windows 11

Problèmes d'erreur OOBELANGUAGE dans la réparation de Windows 11/10

Afficher le guide de mise à l'échelle sur Windows 11

10 façons de régler la luminosité sous Windows 11
