2014-11-03 32 views
-1

的其余部分的代码是:我有一个PHP文件,并在代码里面我有一个错误,我不知道如何解决它?且其中添加代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 

<head>  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  
    <meta http-equiv="Content-Language" content="en"/>  
    <meta name="viewport" content="width=device-width; height=device-height; initial-scale=1.0"/> 

    <link type="text/css" rel="stylesheet" href="screen.css" media="screen,projection,tv"/>  
    <title>change picture</title>  
</head> 

<body> 

    <div id="slideCounter"></div> 
    <div id="slideShow"> 
    <?php 

    $allowed_types = ['png','jpg','jpeg','gif']; 
    $imageDir = 'files/radar-simulation-files'; 
    /* 
    Assumes this .php is being run from the http root on the same 
    domain as the desired image files. 
    */ 

    $handle = opendir($imageDir); 
    while (($imgPath = readdir($handle)) !== false) if (
    in_array(
     strtolower(pathinfo($imgPath, PATHINFO_EXTENSION)), 
     $allowed_types 
    ) echo ' 
    <img src="', $imageDir, '/', $imagePath, '" alt="slide" />'; 
    closedir($handle); 

    ?> 
    <!-- #slideShow --></div> 

    <script type="text/javascript" src="slideShow.js"></script> 

该错误是就行:

) echo ' 

Unexcpected回波之后)

然后,我应该在哪里添加其余的代码?我有一个JavaScript函数和一个CSS代码。我应该将它们添加到同一个php文件中吗?如果是这样,在哪里?在html代码之后?在html代码里面?

这是java脚本代码:

(function(d) { 

    // user defines 

    var 
     swapHours = 0, 
     swapMinutes = 0, 
     swapSeconds = 5, 
     swapTotal = (swapHours * 60 + swapMinutes) * 60 + swapSeconds, 
     loopSlideShow = true; 

    // some handy helper functions 

    function classExists(e, className) { 
     return RegExp('(\\s|^)' + className + '(\\s|$)').test(e.className); 
    } 

    function classAdd(e, className) { 
     if (classExists(e, className) return false; 
     e.className += (e.className ? ' ' : '') + className; 
     return true; 
    } 

    function classRemove(e, className) { 
     if (!classExists(e, className)) return false; 
     e.className = e.className.replace(
      new RegExp('(\\s|^)' + n + '(\\s|$)'), ' ' 
     ) . replace(/^\s+|\s+$/g,''); 
     return true; 
    } 

    function textReplace(e, newtext) { 
     if (d.innerText) e.innerText = newText; 
      else e.textContent = newText; 
    } 

    function nodeFirst(e) { 
     e = e.firstChild; 
     while (e && e.nodeType != 1) e = e.nextSibling; 
     return e; 
    } 

    function nodeLast(e) { 
     e = e.lastChild; 
     while (e && e.nodeType != 1) e = e.prevSibling; 
     return e; 
    } 

    function nodeNext(e) { 
     while (e) if ((e = e.nextSibling).nodeType == 1) return e; 
     return null; 
    } 

    function nodePrev(e) { 
     while (e) if ((e = e.prevSibling).nodeType == 1) return e; 
     return null; 
    } 

    // slideShow setup 

    var 
     slideShow = d.getElementById('slideShow'), 
     slideCounter = d.getElementById('slideCounter'), 
     firstSlide = nodeFirst(slideShow), 
     lastSlide = nodeLast(slideShow), 
     currentSlide = firstSlide, 
     swapCounter; 

    classAdd(slideShow, 'ss_scripted'); 
    classAdd(currentSlide, 'ss_show'); 

    // slideShow functions 

    function showCounter() { 
     textReplace(slideCounter, 
      Math.floor(swapCounter/3600) + ':' + 
      (Math.floor(swapCounter/60) % 60) + ':' + 
      swapCounter % 60 
     ); 
    } 

    function resetCounter() { 
     swapCounter = swapTotal; 
     showCounter(); 
    } 

    function makeSlide(newSlide) { 
     classRemove(currentSlide, 'ss_show); 
     currentSlide = newSlide; 
     classAdd(currentSlide, 'ss_show'); 
    } 

    function nextSlide() { 
     resetCounter(); 
     var newSlide = nodeNext(currentSlide); 
     if (newSlide) makeSlide(newSlide); 
      else if (loopSlideShow) makeSlide(firstSlide); 
    } 

    function prevSlide() { 
     resetCounter(); 
     var newSlide = nodePrev(currentSlide); 
     if (newSlide) makeSlide(newSlide); 
      else if (loopSlideShow) makeSlide(lastSlide); 
    } 

    function slideUpdate() { 
     if (swapCounter--) showCounter(); else nextSlide(); 
    } 

    function startSlideShow() { 
     resetCounter(); 
     setInterval(slideUpdate, 1000); 
    } 

    // wait for onload to actually start the countdown 

    if (window.eventListener) w.addEventListener('load', startSlideShow, false); 
     else w.addEventListener('onload', startSlideShow); 

})(document); 

这是CSS代码:

.ss_scripted img { display:none; } 
.ss_scripted .ss_show { display:block; } 

回答

2

的问题是,你缺少一个 “)”

尝试

while (($imgPath = readdir($handle)) !== false) if (
    in_array(
     strtolower(pathinfo($imgPath, PATHINFO_EXTENSION)), 
     $allowed_types 
    )) echo ' 
    <img src="', $imageDir, '/', $imagePath, '" alt="slide" />'; 
closedir($handle); 

)) echo '首先是从in_array()第二个从if()

希望这有助于! :D

0

看起来你忘了用括号关闭if语句。

试试这个

)) echo ' 
1

这是可读性差,你有逗号那里应该有这样的阶段以及缺少括号:

while (($imgPath = readdir($handle)) !== false) { 
    $needle = strtolower(pathinfo($imgPath, PATHINFO_EXTENSION)); 
    // YOU WERE MISSING A CLOSING (ON YOUR IF 
    if (in_array($needle, $allowed_types)) { 
    // THESE PERIODS WERE COMMAS 
    echo '<img src="' . $imageDir . '/' . $imagePath . '" alt="slide" />'; 
    } 
} 

closedir($handle); 

注意,我也会在这种情况下使用printf代替回音:

printf('<img src="%s/%s" alt="slide" />', $imgDir, $imgPath);

0

丢失的回声之前“)”,你可以把后您的JavaScript代码在底部:

<script type="text/javascript" src="slideShow.js"></script> 
0

你已经忘记while循环的花括号和if语句。

也许这就是你想要什么:

while (($imgPath = readdir($handle)) !== false){ 
    if (in_array(strtolower(pathinfo($imgPath, PATHINFO_EXTENSION)),$allowed_types)){ 
     echo '<img src="', $imageDir, '/', $imagePath, '" alt="slide" />'; 
    } 
} 
相关问题