【问题标题】:Why get this notice in PHP为什么在 PHP 中收到此通知
【发布时间】:2016-04-17 06:46:18
【问题描述】:

注意:只有变量应该通过引用传递 C:\xampp\htdocs\PHP\processor.php 第 43 行

第 43 行是:$extension = end(explode(".", strtolower($_FILES['photoUpload']['name'])));

$allowedExts = array( "gif", "jpeg", "jpg", "png" );
$extension = end(explode(".", strtolower($_FILES['photoUpload']['name'])));

$allowedType = array( "image/gif", "image/jpeg", "image/jpg", "image/png" );

if( !in_array($_FILES['photoUpload']['type'], $allowedType) )
die ("<br>Unsupported file type!");

if( !in_array($extension, $allowedExts) )
die ("<br>Unsupported file extension!");

【问题讨论】:

    标签: php


    【解决方案1】:

    您需要先将explode() 的值分配给一个变量,然后再将其传递给end

    $explode = explode(".", strtolower($_FILES['photoUpload']['name']));
    $extension = end($explode);
    

    这是因为end需要有引用,而explode()的结果不能作为引用。

    end — 将数组的内部指针设置为其最后一个元素

    更多信息请访问http://php.net/manual/en/function.end.php

    【讨论】:

    • 措辞非常好
    【解决方案2】:

    您也可以使用以下方法获取扩展名

    $fileExtension = pathinfo($fileName, PATHINFO_EXTENSION);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      相关资源
      最近更新 更多