Mostrando entradas con la etiqueta php. Mostrar todas las entradas
Mostrando entradas con la etiqueta php. Mostrar todas las entradas

martes, 1 de marzo de 2016

"php" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.

Nada mas configurar un entorno para trabajar con PHP es común encontrarnos con errores del tipo:

"php" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.

Para solucionarlo solo deberemos presionar las teclas Win + Pausa, con lo que se nos abrirá la configuración de nuestro PC, si no estamos acostumbrados a estas combinaciones o nuestro portátil no dispone de la tecla Pausa, podemos ir a Mi PC, hacer click derecho sobre el, y dar a propiedades

jueves, 26 de noviembre de 2015

Dar formato a un DateTime en PHP

Dar formato a una fecha no puede ser mas sencillo siempre que usemos un Objeto DateTime.
Podremos tener este objeto recogiendolo directamente de una BBDD en la que el campo en cuestion sea un DateTime, o bien creandolo en PHP del siguiente modo:

$date = new DateTime('2000-01-01');

Una vez tengamos nuestro DateTime creado tan solo deberemos darlo formato del siguiente modo:

jueves, 5 de febrero de 2015

PHP - Deprecated: Function split() is deprecated

En ocasiones, sobre todo aplicaciones antiguas podemos encontrarnos con un Notice de este tipo, o bien que nuestro editor nos muestre un mensaje como el siguiente:

Deprecated: Function split() is deprecated

Y es que si Señores, la archiconocida función Split de PHP que todos hemos usado para cortar cadenas, esta deprecated, por lo que las lineas que tengamos al estilo:

$terminos = split(',', filter_input(INPUT_GET, 'filtro', FILTER_SANITIZE_STRING));

Deberemos cambiarlas por otras como las siguientes

$terminos = explode(',', filter_input(INPUT_GET, 'filtro', FILTER_SANITIZE_STRING));

Espero que os sirva de ayuda, y no echeis mucho de menos a nuestra amiga Split

domingo, 1 de febrero de 2015

PHP - Problemas con los saltos de linea en csv

En ocasiones necesitaremos leer los datos que contiene un CSV, lo que he estado usando siempre había sido algo al estilo.
ini_set('auto_detect_line_endings',TRUE);while (($datos = fgetcsv($gestor, 100000, "\n")) !== FALSE) {//Lo que necesitara,  normalmente parsearlo}
Hace poco me encontré con un error en ese código, al intentar parsear un fichero que venia desde un MAC, el problema esta en que Windows y MAC no tratan igual los saltos de linea, por lo que "\n" no existía en el fichero que me enviaban, la solución es el siguiente código:

domingo, 25 de enero de 2015

PHP - Comprobar si se ha subido cualquier fichero

Hoy os traigo un truco tan sencillo como útil.
En ocasiones al validar un formulario del lado de servidor podemos tener varios input file, y pueden subir ficheros en cualquiera de ellos, si nos es necesario validar que se suban ficheros, pero nos da igual en que input nos lo suban podemos validar todos y cada uno de los input que tengamos, o bien comprobar si nos pasan algún fichero en general para ello:

domingo, 11 de enero de 2015

PHP - Obtener la fecha de un dia de esta semana


Para obtener la fecha de un día de esta semana simplemente necesitamos una de estas funciones, la primera nos calcula el TimeStamp, que si es lo que necesitamos estaría genial, la segunda a raíz del TimeStamp calcula la fecha en el formato solicitado, en el ejemplo en día/mes/año
strtotime('Monday this week');
date("d/m/Y", strtotime('Sunday this week'));

miércoles, 7 de enero de 2015

PHP - Obtener el número de la semana

Buenas a todos, y Feliz año!!!
Hace tiempo que no escribía, la verdad es que entre fiestas, comilonas, y demás compromisos no he sacado mucho tiempo que se diga, pero aquí estoy de nuevo dispuesto a dar guerra.

Vamos al lío, en esta publicación quería contaros como hacer algo muy simple en PHP, aunque no suele hacerse muy a menudo y por eso precisamente viene bien recordarlo.
Obtener el numero de semana del año actual, para ello simplemente deberemos usar la función date() de PHP, pasándole como parámetro el formato de lo que necesitemos, el ejemplo mas utilizado es date("d/m/Y"); para obtener la fecha separada por "/" en formato día / mes /año

En nuestro caso para obtener solo el numero de semana necesitamos date('W')

jueves, 11 de diciembre de 2014

WordPress - Custom Post type

Crear tipos de Posts personalizados en WordPress es muy sencillo, tan solo deberemos incluir el siguiente código dentro de nuestro functions.php o bien desde un plugin.
public static function create_customPost_type() {
        register_post_type('customPost', array(
            'labels' => array(

jueves, 17 de julio de 2014

Symfony - PHP - falta icuuc49.dll

El programa no puede iniciarse por que falta icuuc49.dll en el equipo.
Intente reinstalar el programa para corregir este problema


Este error ocurre al habilitar en el php.ini la extensión intl para solucionarlo deberemos copiar estas librerías en nuestro apache, eso se consigue del siguiente modo:
  1. Nos dirigiremos a nuestro server en mi caso Xampp a su directorio PHP (C:\xammp\PHP) 
  2. Buscaremos 3 archivos icudt49.dll; icuin49.dll; icuuc49.dll 
  3. Los copiaremos (importante copiar, no cortar) a nuestro directorio apache (C:\xammp\apache\bin) 
  4. Por ultimo reiniciaremos nuestro apache 
Y solucionado!!

viernes, 25 de abril de 2014

Tienda en blanco al cambiar de servidor - prestashop

Llevo una temporada migrando una web a otro servidor, hoy estaba con la parte de la tienda, la cual esta montada en Prestashop, he copiado todos los archivos al nuevo server, y la base de datos, pero para mi sorpresa me encontre con que al entrar a la web me carga una pagina en blanco


no puedo entrar ni al administrador, si tecleo la URL obtengo el mismo resultado, rebuscando por hay sugerian:

  • dar permisos a las carpetas
  • borrar carpeta cache
  • me asegurado que en la base de datos apunte al "nuevo dominio"
Pero Sigue sin funcionar

no es cosa del .htaccess ya que lo he renombrado y sigo con el mismo problema

Cambio el valor de:
define('_PS_MODE_DEV_', true);
estaba en false en el archivo config/defines.inc.php

Y me da error:
Fatal error: Uncaught Table '*****_2013.****_shop_url' doesn't exist
Asi que reimportare la base de datos.

Y Solucionado!!!

jueves, 24 de abril de 2014

Fatal error: Uncaught exception 'Mailchimp_ServerError_MethodUnknown' - Mailchimp - PHP

Despues Del error que describo en: http://www.rogamainformatica.es/2014/04/fatal-error-uncaught-exception.html me aparecio este otro:
Fatal error: Uncaught exception 'Mailchimp_ServerError_MethodUnknown' with message 'Unknown method "lists/*******"' in C:\xampp\htdocs\*******\dashboard\mailchimp\src\Mailchimp.php:340 Stack trace: #0 C:\xampp\htdocs\******\dashboard\mailchimp\src\Mailchimp.php(319): Mailchimp->castError(Array) #1 C:\xampp\htdocs\**********\dashboard\test.php(6): Mailchimp->call('lists/********', '') #2 {main} thrown inC:\xampp\htdocs\*******\dashboard\mailchimp\src\Mailchimp.php on line 340

Este ultimo es simplemente por como lo llamamos
estaba usando
$lista = $mailchimp->call('list/list');
print_r($lista);
en vez de
print_r($mailchimp->call('lists/list',''));

Fatal error: Uncaught exception 'Mailchimp_HttpError' - PHP - MailChimp

Hoy he tenido que pelearme con la API de MailChimp, y ... bueno, al menos en lo que se refiere a PHP, no he mirado como esta documentada para otros lenguajes, pero a lo que viene siendo PHP, si no usas algun framework tipo Zend o Simfony en tu proyecto estas un poco vendido, buscate la vida y peleate con el.

Entre otras cosas me encontrado con este error (en un post futuro, explicare como montala en tu proyecto)
Fatal error: Uncaught exception 'Mailchimp_HttpError' with message 'API call to lists/****** failed: SSL certificate problem: unable to get local issuer certificate' in C:\xampp\htdocs\*****\dashboard\mailchimp\src\Mailchimp.php:314 Stack trace: #0 C:\xampp\htdocs\*****\dashboard\test.php(6): Mailchimp->call('lists/*****', '') #1 {main} thrown in C:\xampp\htdocs\******\dashboard\mailchimp\src\Mailchimp.php on line 314
  1. Parece ser que simplemente no tenia certificado mi servidor, la solucion a esto es muy sencilla:
  2. Descargar y guardar en donde tengamos instalado el PHP en nuestro equipo el sigueinte archivo: http://curl.haxx.se/docs/caextract.html en mi caso la ruta es: C:\xampp\php\
  3. Escribir la sigueinte linea al final de nuestro PHP.inicurl.cainfo="C:\xampp\php\cacert.pem"
  4. Reiniciar nuestro apache
Fuente:
http://redwebturtle.blogspot.com.es/2013/09/mailchimp-api-v20-ssl-error-solution.html

martes, 8 de abril de 2014

Warning! Your PHP configuration limits the maximum number of fields allowed in a form - Prestashop

Warning! Your PHP configuration limits the maximum number of fields allowed in a form:
1000 for max_input_vars.
Please ask your hosting provider to increase the this limit to 2481 at least or edit the translation file manually.

Para solucionar este error de nuestro Prestashop deberemos cambiar en el php.ini dicho valor, eso es simplemente abrirlo el cual en nuestro equipo estara ubicado en :
C:\xampp\php

Cambiaremos el 1000 que viene por defecto por el valor que nos da el error u otro superior, finalizaremos
reiniciando apache

Otra opción, si esto no nos funciona, o si no tenemos acceso al php.ini es introducir
php_value max_input_vars 4000
en nuestro .htaccess
Un abrazo amigos

martes, 25 de marzo de 2014

Formatear un número, con decimales y miles - PHP

para formatear un numero, con decimales y miles desde PHP tan solo deberemos llamar a la siguiente función

number_format($numero, 2, ",", ".");

en donde $numero es el numero que queremos formatear
2 el numero de decimales que queremos sacar
"," el separador de decimales
"." el separador de miles

Por defecto vienen los valores americanos el "." para separar decimales y la "," para los miles

fuente
http://www.php.net/manual/es/function.number-format.php

viernes, 28 de febrero de 2014

dar una fecha un tiempo atras - PHP

En muchas ocasiones tendremos la necesidad de mostrar ya sea por pantalla o simplemente almacenar en una variable una fecha en concreto, y la mayoría de las veces es una fecha pasada, como pueda ser una semana antes, un mes antes, o un año antes.

Para ello utilizaremos los métodos date() y mktime();

mktime() nos devuelve el timestamp de una fecha, si no le damos ningún parámetro nos devuelve la fecha actual; ojo fecha y hora UTC en España en concreto usamos UTC +1 podemos comprobar la fecha devuelta copiando el código que nos da, que sera algo al estilo: 1393605543 que es la fecha en la que estoy escribiendo esto; ingresando esos números en http://www.unixtimestamp.com/index.php

Por otro lado podemos formatearlo para verlo en días mes año, o como mas nos guste gracias a la función date(), a la que pasandole un string con el formato deseado lo tendremos todo solucionado, Y lo usaremos para la posición del año, m para la del mes, y d para el día. entre medias podemos poner / - espacio, lo que mas nos guste.

Para sacar una fecha en concreto en el mktime usaremos la función date() y le restaremos, o sumaremos, según necesitemos los días, meses, años e incluso minutos, horas o segundos por ejemplo:


  • date( "Y-m-d",mktime(0, 0, 0, date("m")-1,date("d"), date("Y"))) -> nos da la fecha de hace un mes
  • date( "Y-m-d",mktime(0, 0, 0, date("m"),date("d")-1, date("Y"))) -> nos da la fecha de ayer
  • date( "Y-m-d",mktime(0, 0, 0, date("m"),date("d"), date("Y")-1)) -> nos da la fecha de hace un año
  • date( "Y-m-d",mktime(0, 0, 0, date("m")+1,date("d"), date("Y"))) -> nos da la fecha de dentro de un mes
  • date( "Y-m-d",mktime(0, 0, 0, date("m"),date("d")+7, date("Y"))) -> nos da la fecha de dentro de una semana
  • date( "Y-m-d",mktime(0, 0, 0, date("m"),date("d"), date("Y")+1)) -> nos da la fecha de dentro de un año


Os dejo un par de ejemplos de su uso


<?php echo date( "Y-m-d",mktime(0, 0, 0, date("m")-1,date("d"), date("Y"))); ?>

<input type="date" name="desde" id="desde" value="<?php echo date( "Y-m-d",mktime(0, 0, 0, date("m")-1,date("d"), date("Y"))); ?>"/> al <input type="date" name="hasta" id="hasta" value="<?php echo date('Y-m-d'); ?>"/>

martes, 28 de enero de 2014

nusoap_client: Error: XML error parsing SOAP payload on line 1: Not well-formed (invalid token)

Este error nos aparecerá, al intentar consumir un WebService, mal montado, ya que en algún lugar tiene un echo, simplemente cambiamos los echo por return en el webService Server y arreglado ;)

lunes, 14 de octubre de 2013

Drupal 7 - Obtener la Url de una imagen

Puede que en ocasiones necesitemos obtener la URL de una imagen en Drupal, para después imprimirla desde por ejemplo un bloque; o trabajar con ella; con el siguiente código obtendremos la ruta de la imagen original:
$url =file_create_url($nodeView['body']['#object']->field_image['und']['0']['uri']);
y con este otro la ruta de la imagen formateada al estilo que le pasemos; para ello solo deberemos sustituir thumbnail por el estilo necesario

$url =  image_style_url("thumbnail",$nodeView['body']['#object']->field_image['und']['0']['uri']);
para finalizar podremos imprimirla:

echo '<img src="'.$url.'" >';

Espero os resulte de ayuda

viernes, 27 de septiembre de 2013

Drupal 7 - Listado de paises

Aquí os dejo un listado de los actuales países, preparado para copiar y pegar en Drupal 7.
Espero os sirva de utilidad ;)

España|España
Afghanistan|Afghanistan
Albania|Albania
Algeria|Algeria
American Samoa|American Samoa
Andorra|Andorra
Angola|Angola
Anguilla|Anguilla
Antarctica|Antarctica
Antigua and Barbuda|Antigua and Barbuda
Argentina|Argentina
Armenia|Armenia
Aruba|Aruba
Australia|Australia
Austria|Austria
Azerbaijan|Azerbaijan
Bahamas|Bahamas
Bahrain|Bahrain
Bangladesh|Bangladesh
Barbados|Barbados
Belarus|Belarus
Belgium|Belgium
Belize|Belize
Benin|Benin
Bermuda|Bermuda
Bhutan|Bhutan
Bolivia|Bolivia
Bosnia and Herzegovina|Bosnia and Herzegovina
Botswana|Botswana
Bouvet Island|Bouvet Island
Brazil|Brazil
British Indian Ocean Territory|British Indian Ocean Territory
Brunei Darussalam|Brunei Darussalam
Bulgaria|Bulgaria
Burkina Faso|Burkina Faso
Burundi|Burundi
Cambodia|Cambodia
Cameroon|Cameroon
Canada|Canada
Cape Verde|Cape Verde
Cayman Islands|Cayman Islands
Central African Republic|Central African Republic
Chad|Chad
Chile|Chile
China|China
Christmas Island|Christmas Island
Cocos (Keeling) Islands|Cocos (Keeling) Islands
Colombia|Colombia
Comoros|Comoros
Congo|Congo
Cook Islands|Cook Islands
Costa Rica|Costa Rica
Cote D'ivoire|Cote D'ivoire
Croatia|Croatia
Cuba|Cuba
Cyprus|Cyprus
Czech Republic|Czech Republic
Denmark|Denmark
Djibouti|Djibouti
Dominica|Dominica
Dominican Republic|Dominican Republic
Ecuador|Ecuador
Egypt|Egypt
El Salvador|El Salvador
Equatorial Guinea|Equatorial Guinea
Eritrea|Eritrea
Estonia|Estonia
Ethiopia|Ethiopia
Falkland Islands (Malvinas)|Falkland Islands (Malvinas)
Faroe Islands|Faroe Islands
Fiji|Fiji
Finland|Finland
France|France
French Guiana|French Guiana
French Polynesia|French Polynesia
French Southern Territories|French Southern Territories
Gabon|Gabon
Gambia|Gambia
Georgia|Georgia
Germany|Germany
Ghana|Ghana
Gibraltar|Gibraltar
Greece|Greece
Greenland|Greenland
Grenada|Grenada
Guadeloupe|Guadeloupe
Guam|Guam
Guatemala|Guatemala
Guinea|Guinea
Guinea-bissau|Guinea-bissau
Guyana|Guyana
Haiti|Haiti
Heard Island and Mcdonald Islands|Heard Island and Mcdonald Islands
Holy See (Vatican City State)|Holy See (Vatican City State)
Honduras|Honduras
Hong Kong|Hong Kong
Hungary|Hungary
Iceland|Iceland
India|India
Indonesia|Indonesia
Iran, Islamic Republic of|Iran, Islamic Republic of
Iraq|Iraq
Ireland|Ireland
Israel|Israel
Italy|Italy
Jamaica|Jamaica
Japan|Japan
Jordan|Jordan
Kazakhstan|Kazakhstan
Kenya|Kenya
Kiribati|Kiribati
Korea, Democratic People's Republic of|Korea, Democratic People's Republic of
Korea, Republic of|Korea, Republic of
Kuwait|Kuwait
Kyrgyzstan|Kyrgyzstan
Lao People's Democratic Republic|Lao People's Democratic Republic
Latvia|Latvia
Lebanon|Lebanon
Lesotho|Lesotho
Liberia|Liberia
Libyan Arab Jamahiriya|Libyan Arab Jamahiriya
Liechtenstein|Liechtenstein
Lithuania|Lithuania
Luxembourg|Luxembourg
Macao|Macao
Macedonia|Macedonia
Madagascar|Madagascar
Malawi|Malawi
Malaysia|Malaysia
Maldives|Maldives
Mali|Mali
Malta|Malta
Marshall Islands|Marshall Islands
Martinique|Martinique
Mauritania|Mauritania
Mauritius|Mauritius
Mayotte|Mayotte
Mexico|Mexico
Micronesia, Federated States of|Micronesia, Federated States of
Moldova, Republic of|Moldova, Republic of
Monaco|Monaco
Mongolia|Mongolia
Montenegro|Montenegro
Montserrat|Montserrat
Morocco|Morocco
Mozambique|Mozambique
Myanmar|Myanmar
Namibia|Namibia
Nauru|Nauru
Nepal|Nepal
Netherlands|Netherlands
Netherlands Antilles|Netherlands Antilles
New Caledonia|New Caledonia
New Zealand|New Zealand
Nicaragua|Nicaragua
Niger|Niger
Nigeria|Nigeria
Niue|Niue
Norfolk Island|Norfolk Island
Northern Mariana Islands|Northern Mariana Islands
Norway|Norway
Oman|Oman
Pakistan|Pakistan
Palau|Palau
Palestinian Territory, Occupied|Palestinian Territory, Occupied
Panama|Panama
Papua New Guinea|Papua New Guinea
Paraguay|Paraguay
Peru|Peru
Philippines|Philippines
Pitcairn|Pitcairn
Poland|Poland
Portugal|Portugal
Puerto Rico|Puerto Rico
Qatar|Qatar
Reunion|Reunion
Romania|Romania
Russian Federation|Russian Federation
Rwanda|Rwanda
Saint Helena|Saint Helena
Saint Kitts and Nevis|Saint Kitts and Nevis
Saint Lucia|Saint Lucia
Saint Pierre and Miquelon|Saint Pierre and Miquelon
Saint Vincent and The Grenadines|Saint Vincent and The Grenadines
Samoa|Samoa
San Marino|San Marino
Sao Tome and Principe|Sao Tome and Principe
Saudi Arabia|Saudi Arabia
Senegal|Senegal
Serbia|Serbia
Seychelles|Seychelles
Sierra Leone|Sierra Leone
Singapore|Singapore
Slovakia|Slovakia
Slovenia|Slovenia
Solomon Islands|Solomon Islands
Somalia|Somalia
South Africa|South Africa
South Georgia and The South Sandwich Islands|South Georgia and The South Sandwich Islands
Sri Lanka|Sri Lanka
Sudan|Sudan
Suriname|Suriname
Svalbard and Jan Mayen|Svalbard and Jan Mayen
Swaziland|Swaziland
Sweden|Sweden
Switzerland|Switzerland
Syrian Arab Republic|Syrian Arab Republic
Taiwan, Province of China|Taiwan, Province of China
Tajikistan|Tajikistan
Tanzania, United Republic of|Tanzania, United Republic of
Thailand|Thailand
Timor-leste|Timor-leste
Togo|Togo
Tokelau|Tokelau
Tonga|Tonga
Trinidad and Tobago|Trinidad and Tobago
Tunisia|Tunisia
Turkey|Turkey
Turkmenistan|Turkmenistan
Turks and Caicos Islands|Turks and Caicos Islands
Tuvalu|Tuvalu
Uganda|Uganda
Ukraine|Ukraine
United Arab Emirates|United Arab Emirates
United Kingdom|United Kingdom
United States|United States
United States Minor Outlying Islands|United States Minor Outlying Islands
Uruguay|Uruguay
Uzbekistan|Uzbekistan
Vanuatu|Vanuatu
Venezuela|Venezuela
Viet Nam|Viet Nam
Virgin Islands, British|Virgin Islands, British
Virgin Islands, U.S.|Virgin Islands, U.S.
Wallis and Futuna|Wallis and Futuna
Western Sahara|Western Sahara
Yemen|Yemen
Zambia|Zambia
Zimbabwe|Zimbabwe

miércoles, 25 de septiembre de 2013

Drupal 7 - Cancelar cuenta sin confirmar email

Cuando marcamos la casilla de que el usuario confirme el email al crear cuenta también obligamos a que confirme por email la cancelación.
Para saltarnos este paso y que cada usuario pueda borrar su cuenta cuando le plazca sin confirmar por email, pero manteniendo la confirmación al crearlo deberemos hacer uso del siguiente código:

function MYMODULE_form_user_cancel_confirm_form_alter(&$form, &$form_state, $form_id) {
  $form['#submit'][] = 'MYMODULE_user_cancel_form_submit';
}

function MYMODULE_user_cancel_form_submit(&$form, &$form_state) {
  // Rather than negating the complex access expression from the original form we can
  // just make the change in the else portion

  global $user;
  $account = $form_state['values']['_account'];
  if (user_access('administer users') && empty($form_state['values']['user_cancel_confirm']) && $account->uid != $user->uid) {
    // Account has already been cancelled by the system.
  }
  else {
    // Cancel the account
    user_cancel($form_state['values'], $account->uid, $form_state['values']['user_cancel_method']);
  }
}

Fuente: http://drupal.stackexchange.com/questions/32413/how-can-i-allow-users-to-cancel-their-accounts-without-requiring-e-mail-confirma

miércoles, 18 de septiembre de 2013