w3schools uniqid unica online generar funcion example clave php

uniqid - La función com_create_guid() tiene un error en el lado del servidor pero funciona bien en local usando php



uniqid() laravel (4)

Debe estar ejecutando la versión de PHP menos de 5; de lo contrario, debe estar ejecutándose en un cuadro de LINUX, ya que COM es una extensión basada en Windows.

Prueba este script y asegúrate.

if (function_exists(''com_create_guid'') === true) { echo "Yes"; $guid = com_create_guid(); echo $guid; } else{ echo "Nope !"; }

trabajando en generar un guid en un archivo php. Estoy usando com_create_guid() . Funciona bien en localhost pero muestra el error a continuación en el servidor remoto.

Error grave: llamada a la función no definida com_create_guid () en la línea 6

mi código es (guid parte nly)

$guid = com_create_guid(); echo $guid;

algunas ideas


Para extender las respuestas parcialmente correctas de arriba:

tomado de http://php.net/manual/en/com.installation.php

"Desde PHP 5.4.5, COM y DOTNET ya no están integrados en el núcleo de php. Debe agregar soporte COM en php.ini"

extension = php_com_dotnet.dll


Puede crear GUIDs manualmente:

function getGUID(){ if (function_exists(''com_create_guid'')){ return com_create_guid(); } else { mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up. $charid = strtoupper(md5(uniqid(rand(), true))); $hyphen = chr(45);// "-" $uuid = chr(123)// "{" .substr($charid, 0, 8).$hyphen .substr($charid, 8, 4).$hyphen .substr($charid,12, 4).$hyphen .substr($charid,16, 4).$hyphen .substr($charid,20,12) .chr(125);// "}" return $uuid; } }

Uso:

$GUID = getGUID(); echo $GUID;

Seguir:

http://guid.us/GUID/PHP

http://php.net/manual/en/function.com-create-guid.php


Causa probable

Los sistemas Windows que no tengan cargado php_com_dotnet.dll (verifique su archivo php.ini), así como los sistemas que no sean Windows, no podrán usar com_create_guid () .

La solución

Reuní y modifiqué el siguiente código como la culminación de algunas de mis propias ideas y cambios (como el apoyo de Brace en todas partes), y numerosas sugerencias de múltiples fuentes para implementar una plataforma multiplataforma y una función de versión de PHP cruzada que admita la creación de UID reforzada y no reforzada. . La especificación de falso en la llamada de función devolverá un UID envuelto entre llaves ("estilo de Windows"). Especificar verdadero o nada devolverá un UID sin llaves.

Compatibilidad

PHP desde la versión 4.2 hacia arriba es compatible. Es independiente del sistema operativo y elegirá el "mejor" método basado en el sistema operativo, la versión de PHP y las bibliotecas / funciones de PHP disponibles (incluida la opción de respaldo si la biblioteca dotnet no está cargada en PHP Windows).

El código

function GUIDv4 ($trim = true) { $lbrace = chr(123); // "{" $rbrace = chr(125); // "}" // Windows if (function_exists(''com_create_guid'') === true) { // extension=php_com_dotnet.dll if ($trim === true) { return trim(com_create_guid(), ''{}''); } else { return com_create_guid(); } } // OSX/Linux and Windows with OpenSSL but without com classes loaded (extension=php_com_dotnet.dll loaded in php.ini) if (function_exists(''openssl_random_pseudo_bytes'') === true) { $data = openssl_random_pseudo_bytes(16); $data[6] = chr(ord($data[6]) & 0x0f | 0x40); // set version to 0100 $data[8] = chr(ord($data[8]) & 0x3f | 0x80); // set bits 6-7 to 10 if ($trim === true) { return vsprintf(''%s%s-%s-%s-%s-%s%s%s'', str_split(bin2hex($data), 4)); } else { return $lbrace.vsprintf(''%s%s-%s-%s-%s-%s%s%s'', str_split(bin2hex($data), 4)).$rbrace; } } // Fallback (PHP 4.2+) mt_srand((double)microtime() * 10000); $charid = strtolower(md5(uniqid(rand(), true))); $hyphen = chr(45); // "-" $guidv4 = substr($charid, 0, 8).$hyphen. substr($charid, 8, 4).$hyphen. substr($charid, 12, 4).$hyphen. substr($charid, 16, 4).$hyphen. substr($charid, 20, 12); if ($trim === true) { return $guidv4; } else { return $lbrace.$guidv4.$rbrace; } }

Uso

$newGUID = GUIDv4([false]); // false for braces, true or nothing for no braces

Más información

http://php.net/manual/en/function.com-create-guid.php

http://php.net/manual/en/com.installation.php

http://guid.us/GUID/PHP