# PHP lo odio

**URL:** <https://www.ruby-forum.com/t/php-lo-odio/221725>\
**Category:** IT\
**Created:** [July 27, 2012, 12:31pm UTC](https://www.ruby-forum.com/t/php-lo-odio/221725 "2012-07-27T12:31:40Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![aris](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/258eb7/32.png) [@aris](https://www.ruby-forum.com/u/aris)\
**Post date:** [July 27, 2012, 12:31pm UTC](https://www.ruby-forum.com/t/php-lo-odio/221725/1 "2012-07-27T12:31:40Z")

</div>

public static function getStringLevels($file)  
{  
$liv1=abs(crc32(“A”.$file)) % 256;  
$liv2=abs(crc32(“B”.$file)) % 1024;

```
            return array($liv1,$liv2);
    }

```

Questa roba qui serve per costruire 2 livelli di directory. Dopo credo  
un mix di vodka e LSD, alcuni programmatori PHP hanno “pensato” di  
escogitare questo sistema “per una questione di performance”. Non so  
altro.

Ora, dato il file 191/111/1022.png:  
1.9.3p194 :017 \> a  
=\> “1022.png”  
1.9.3p194 :018 \> Zlib.crc32( “A” + a ).abs % 256  
=\> 148  
1.9.3p194 :019 \> a = ‘1022’  
=\> “1022”  
1.9.3p194 :020 \> Zlib.crc32( “A” + a ).abs % 256  
=\> 65

Suggerimenti? 😃 Anche riguardo la marca della corda che posso usare per  
impiccarmi

ngw

---

<div class="post-metadata">

**Author:** ![Nicholas\_W](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f17d59/32.png) [@Nicholas\_W](https://www.ruby-forum.com/u/Nicholas_W)\
**Post date:** [July 27, 2012, 12:45pm UTC](https://www.ruby-forum.com/t/php-lo-odio/221725/2 "2012-07-27T12:45:43Z")

</div>

On 27/07/2012 12:31, Nicholas W. wrote:

> Ora, dato il file 191/111/1022.png:
> 
> ngw
> 
> * * *
> 
> Ml mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)  
> Cosa devi fare?

---

<div class="post-metadata">

**Author:** ![Nicholas\_W](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f17d59/32.png) [@Nicholas\_W](https://www.ruby-forum.com/u/Nicholas_W)\
**Post date:** [July 27, 2012, 12:52pm UTC](https://www.ruby-forum.com/t/php-lo-odio/221725/3 "2012-07-27T12:52:09Z")

</div>

On Jul 27, 2012, at 12:45 PM, Frostland wrote:

> Cosa devi fare?

Risalire alla stessa struttura di directory. Come vedi i risultati sono  
diversi gi’ al primo livello.

ngw

---

<div class="post-metadata">

**Author:** ![Nicholas\_W](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f17d59/32.png) [@Nicholas\_W](https://www.ruby-forum.com/u/Nicholas_W)\
**Post date:** [July 27, 2012, 12:57pm UTC](https://www.ruby-forum.com/t/php-lo-odio/221725/4 "2012-07-27T12:57:53Z")

</div>

Frostland wrote in post #1070403:

> On 27/07/2012 12:31, Nicholas W. wrote:
> 
> > Ora, dato il file 191/111/1022.png:
> > 
> > ngw
> > 
> > * * *
> > 
> > Ml mailing list  
> > [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> > [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)  
> > Cosa devi fare?

Ho l’impressione che vorrebbe ottenere 191 al posto di 148. Ma:

$ php5

\<?php echo crc32("A1022.png"); echo crc32("A1022.png") % 256; ?\>

1610857108  
148  
$ irb  
require 1.9.2-p180 :001 \> require “zlib”  
=\> true  
1.9.2-p180 :002 \> Zlib.crc32(“A1022.png”).abs  
=\> 1610857108  
1.9.2-p180 :003 \> Zlib.crc32(“A1022.png”).abs % 256  
=\> 148

Quindi il risultato è lo stesso.

Paolo

---

<div class="post-metadata">

**Author:** ![Nicholas\_W](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f17d59/32.png) [@Nicholas\_W](https://www.ruby-forum.com/u/Nicholas_W)\
**Post date:** [July 27, 2012, 1:57pm UTC](https://www.ruby-forum.com/t/php-lo-odio/221725/5 "2012-07-27T13:57:30Z")

</div>

Nicholas W. wrote in post #1070408:

> On Jul 27, 2012, at 12:57 PM, Paolo M. wrote:
> 
> > > Cosa devi fare?  
> > > $ irb  
> > > require 1.9.2-p180 :001 \> require “zlib”  
> > > =\> true  
> > > 1.9.2-p180 :002 \> Zlib.crc32(“A1022.png”).abs  
> > > =\> 1610857108  
> > > 1.9.2-p180 :003 \> Zlib.crc32(“A1022.png”).abs % 256  
> > > =\> 148
> > 
> > Quindi il risultato lo stesso.
> 
> Sei su una macchina a 32bit?
> 
> ngw

64, ma mi aspetto che i risultati siano indipendenti dal processore.

Paolo

---

<div class="post-metadata">

**Author:** ![Nicholas\_W](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f17d59/32.png) [@Nicholas\_W](https://www.ruby-forum.com/u/Nicholas_W)\
**Post date:** [July 27, 2012, 12:59pm UTC](https://www.ruby-forum.com/t/php-lo-odio/221725/6 "2012-07-27T12:59:10Z")

</div>

On Jul 27, 2012, at 12:57 PM, Paolo M. wrote:

> > Cosa devi fare?  
> > $ irb  
> > require 1.9.2-p180 :001 \> require “zlib”  
> > =\> true  
> > 1.9.2-p180 :002 \> Zlib.crc32(“A1022.png”).abs  
> > =\> 1610857108  
> > 1.9.2-p180 :003 \> Zlib.crc32(“A1022.png”).abs % 256  
> > =\> 148
> 
> Quindi il risultato lo stesso.

Sei su una macchina a 32bit?

ngw

---

<div class="post-metadata">

**Author:** ![Nicholas\_W](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f17d59/32.png) [@Nicholas\_W](https://www.ruby-forum.com/u/Nicholas_W)\
**Post date:** [July 27, 2012, 3:26pm UTC](https://www.ruby-forum.com/t/php-lo-odio/221725/7 "2012-07-27T15:26:29Z")

</div>

On Jul 27, 2012, at 1:57 PM, Paolo M. wrote:

> > > =\> 148
> > > 
> > > Quindi il risultato lo stesso.
> > 
> > Sei su una macchina a 32bit?
> > 
> > ngw
> 
> 64, ma mi aspetto che i risultati siano indipendenti dal processore.

> **[PHP: crc32 - Manual](https://www.php.net/manual/en/function.crc32.php)**
>
> Calculates the crc32 polynomial of a string

Pare che PHP abbia problemi anche con il CRC

ngw

---

<div class="post-metadata">

**Author:** ![Nicholas\_W](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f17d59/32.png) [@Nicholas\_W](https://www.ruby-forum.com/u/Nicholas_W)\
**Post date:** [July 27, 2012, 3:35pm UTC](https://www.ruby-forum.com/t/php-lo-odio/221725/8 "2012-07-27T15:35:16Z")

</div>

2012/7/27 Nicholas W. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

> [PHP: crc32 - Manual](http://php.net/manual/en/function.crc32.php)
> 
> Pare che PHP abbia problemi anche con il CRC

LOOL

[http://goo.gl/r5du2](http://goo.gl/r5du2)

fail come al solito

P.S.: scusate lo scarso contributo ma ci voleva 🙂
