Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Strict Standards: Only variables should be passed by reference in...

Estas en el tema de Strict Standards: Only variables should be passed by reference in... en el foro de PHP en Foros del Web. De pronto el script me dio este problema.. Código: Strict Standards: Only variables should be passed by reference in /home/nuev3010/public_html/nota2.php on line 137 esta linea ...
  #1 (permalink)  
Antiguo 10/12/2013, 15:28
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 20 años, 3 meses
Puntos: 2
Strict Standards: Only variables should be passed by reference in...

De pronto el script me dio este problema..
Código:
Strict Standards: Only variables should be passed by reference in /home/nuev3010/public_html/nota2.php on line 137
esta linea la repite cada bucle

el codigo es este...

cabe señalar que con esto que les paso.. el error de la linea 137 es el de la linea 6.. que es $ext = strtolower(end(explode('.',$archivo)));

Código PHP:
Ver original
  1. <?php
  2. $directorio = "eventos/".$row_nota['carpeta']."/images/";
  3. $gestor = opendir($directorio);  
  4. $entradas = array();  
  5. while (false !== ($archivo = readdir($gestor))) {  
  6. $ext = strtolower(end(explode('.',$archivo)));  
  7. // Aqui haces la comparación  
  8. if (is_file($directorio.$archivo) && ($ext=='jpg' || $ext=='JPG' || $ext=='gif')) {
  9. $entradas[$archivo] = $directorio."/".$archivo;}}  
  10. asort($entradas);  
  11. closedir($gestor);  
  12. // Recorres cada uno de los archivos.  
  13. foreach($entradas as $file => $tiempo){   ?>
  14.             <div align="center" style="width:290; height:230px; float:left; padding-left:5px; padding-bottom:20px;"> <a href="<?php echo $directorio.$file; ?>" class="fancybox" data-fancybox-group="gallery"><img src="eventos/<?php echo $row_nota['carpeta']; ?>/thumbnails/<?php echo $file; ?>" width="290" hspace="3" border="0" ></a>
  15.               <div class="opc">
  16.                 <div id="rd"><a href="javascript: void(0);" onclick="window.open ('http://www.facebook.com/sharer.php?s=100&p[url]=http://nuevosvaloresdeocotlan.com/eventos/galeria.php?id=<?php echo $row_nota['carpeta']; ?>&p[title]=<?php echo $email[0]; ?>&p[summary]=<?php echo $email[1]; ?>&p[images][0]=http://nuevosvaloresdeocotlan.com/eventos/<?php echo $row_nota['carpeta']; ?>/images/<?php echo $file; ?>', 'Facebook', 'toolbar=0, status=0, width=550, height=350');"><img src="nva/Namecom_RET_SocialMediaFacebook.png" width="20" height="20" hspace="5"    title="Compartir en Facebook" border="0"/> Compartir</a></div>
  17.                
  18.                 </div>
  19.               </div>
  20.             <?php
  21. }
  22. ?>
si alguien fuera tan amable de ayudarme un poco
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #2 (permalink)  
Antiguo 10/12/2013, 15:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Strict Standards: Only variables should be passed by reference in...

Revisa el manual de la función end(), pues el error te indica que dicha función solo trabaja con variables (por referencia implícita) y obviamente tu no estás usando variables.

Código PHP:
Ver original
  1. $foo = 'candy bar';
  2.  
  3. // MAL
  4. echo end(explode(' ', $foo));
  5.  
  6. // BIEN
  7. $bar = explode(' ', $foo);
  8.  
  9. echo end($bar);
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/12/2013, 16:59
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 20 años, 3 meses
Puntos: 2
Respuesta: Strict Standards: Only variables should be passed by reference in...

Listo Si me funciono solo hice esto...

Código PHP:
Ver original
  1. $hp = explode('.',$archivo);
  2. $ext = strtolower(end($hp));
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México

Etiquetas: html, reference, variable, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:56.