Ciao a tutti, c'è un modo per limitare il risultato di una cifratura md5?
Di solito quando usiamo una cifratura md5 ci mostra 32 caratteri...io vorrei limitarla a 5/6..
E' possibile? Grazie 1000...ciao Davide! ^^
Ciao a tutti, c'è un modo per limitare il risultato di una cifratura md5?
Di solito quando usiamo una cifratura md5 ci mostra 32 caratteri...io vorrei limitarla a 5/6..
E' possibile? Grazie 1000...ciao Davide! ^^
No.
Ciao!
Allora vi spiego cosa devo fare... magari c'è una soluzione:
Faccio una lista di file..ad ogni file devo assegnare un numero ...sono riuscito ad assegnargli ad ogni file un numero ...prima della lettura della cartella creo la variabili a 0 ..dopo dentro la lettura metto 2 più ($var++;) ...ora mi viene mostrato il numero del file (fileciao - 1 <br /> asdasd - 2 <br /> 4r5hrh - 3) e così via! Solo come faccio a fare un if per riconoscere che il numero della variabile corrisponde a quel file? xD
Se faccio if($file == $id) ... non funziona perchè $id contiene l'id del file! xD Quindi come faccio?
Ciauuu! ^^
eh??????
Guarda, fai degli esempi facili, altrimenti non si capisce nulla!
Che tipi di controlli devi fare? Per cosa?
Ciao!
Ok...ti posto il codice faccio prima:
e questo è il risultato: http://i39.tinypic.com/2romkog.pngCodice PHP:
<?php
echo "<br /><br />#################################<br /><br />";
$path = "./files"; $id = 0;
if($cart = opendir($path)) {
echo "<b>Lista di '$path'</b><hr />";
while($file = readdir($cart)) {
if($file == "." || $file == "..") continue;
$files[] = $file;
}
} else { echo "Errore nell'aprire $path"; }
closedir($cart);
foreach($files as $nome) {
$id++; echo "$nome - $id<br />";
}
?>
Ora io quando devo aprire il file come faccio a fare un if per verificare che $id corrisponde a $file? xD
Grazie! :P
A parte che non serve, basta indicare il nome del file che si vuol aprire.
Ma se proprio non ne puoi fare a meno, devi creare un array associativo id=>nomefile, così da poter risalire automaticamente al file indicando un id:
$array[$id]
Ciao!
Così? xD Non sono pratico con gli array! ;D
Codice PHP:
$id++;
$all = array($id => $nome);
echo "$nome - $id<br />";
faccio prima a scrivertelo:
Codice PHP:
<?php
echo "<br /><br />#################################<br /><br />";
$path = "./files";
echo "<b>Lista di '$path'</b><hr />";
$files = glob($path.'/*');
foreach($files as $file) {
if($file != "." && $file != ".."){
echo $file;
}
}
?>
Ciaooo!
Mi mostra:
Non è il risultato che voglio! xD Io voglio che mi crei un ID che dopo con un if vado a vedere se corrisponde a quel file! :P./files/ar.png
./files/as.png
./files/at.png
Ciauu! e Grazie! ;D
Ma se crei un id senza memorizzarlo da qualche parte, a cosa ti serve??
Comunque sia, puoi fare:
Codice PHP:
foreach($files as $id=>$file) {
if($file != "." && $file != ".."){
echo "$id: $file";
}
}
Ciao!
A dir la verità un modo ci sarebbe, basta considerare l'hash ottenuto come una stringa ed estrarre i primi 5/6 caratteri (o quelli che si vuole, per un massimo di 32) tramite la funzione substr().
In alternativa, se scegli la versione "hash binario" (solo in PHP 5), per estrarre le prime cifre basta una semplice divisione (o, meglio, uno shift a destra).
Stammi bene...
Ultima modifica di dementialsite : 26-03-2009 alle ore 15.06.00
Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?
When you don't know your next step... improvise
ALTERVISTA WANTS YOU!
Vuoi diventare moderatore su AlterVista? Scopri come...
Ma non conserverebbe la teorica "univocità" tipica del md5...
Ciao!
C'ero arrivato su per giù a $id=>$file ...ok ora è come voglio io ma mi spunta pagina bianca quando faccio ?file=xxx
Grazie mille! :PCodice PHP:
foreach($files as $id=>$file) {
echo "<a href=\"?file=$id\">$file</a> - $id<br />";
$ids = array($id);
}
if(@$_GET["file"] == $ids) {
echo $_GET["file"];
}
Edit: In effetti è come dice debug ...potrebbe capitarmi di avere un ID uguale con l'md5! XD
Ultima modifica di sIM : 26-03-2009 alle ore 15.08.21
Ultima modifica di dementialsite : 26-03-2009 alle ore 15.11.51
Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?
When you don't know your next step... improvise
ALTERVISTA WANTS YOU!
Vuoi diventare moderatore su AlterVista? Scopri come...
Ma non devi fare nessun controllo, tantomeno in quel modo (confronti una stringa con un array...)
Basta fare echo $_GET["file"];
Ciao!
Si..ma io voglio vedere se quel numero esiste! XD
Perchè l'id corrisponde al file! XD
Allora:
if( isset($array[$_GET['file']]) ){
echo $array[$_GET['file']];
}
ciaooooo!
Niente da fare! Sempre pagina bianca! xD
Codice PHP:
foreach($files as $id=>$file) {
echo "<a href=\"?file=$id\">$file</a> - $id<br />";
$ids = array($id);
}
if($_GET['file'] == $ids[$_GET['file']]){
echo $ids[$_GET['file']];
}
Dov'è che ti ho detto di scrivere $ids = array($id); ??
E dov'è che ti ho detto di ri-mettere quel controllo?
Cioè, è inutile aiutarti se poi fai di testa tua!
Ciao!
Ok...scusami ma pensavo che andava modificata qualche cosa! XD
Sempre pagina bianca! XDCodice PHP:
foreach($files as $id=>$file) {
echo "<a href=\"?file=$id\">$file</a> - $id<br />";
}
if($id[$_GET['file']]){
echo $id[$_GET['file']];
}
Allora, segui me: prendi il codice del post #8, poi segui le mie modifiche successive (sostituendo ciò che indico di sostituire, secondo le tue esigenze) e non fare nessun'altra modifica.
Ciao!
Ho riletto tutto...fatto modifiche come hai detto ma sempre pagina bianca!
Secondo me il problema sta nell'$id dell'if... Grazie! :PCodice PHP:
<?php
$path = "./files";
echo "<h1>Lista di '$path'</h1><hr />";
$files = glob($path."/*");
foreach($files as $id=>$file) {
if($file == "." || $file == "..") continue;
echo "<a href=\"?file=$id\">$file</a> - $id<br />";
}
if($id[$_GET["file"]]){
echo "<hr />".$id[$_GET["file"]];
}
?>
Dov'è che ti ho scritto if($id[$_GET["file"]]){ ?????
Ciao!
..ho tolto io isset...perchè secondo me non serve comunque qui: #17
Grazie ! :P
Se ti ho detto di copiare e incollare senza modificare altro, perchè non lo fai?
Ripeto: se io ti dico di scrivere una certa cosa, e tu fai diversamente, a che gioco stiamo giocando?
Ciao!
Ok debug! xD ...cmq anche se mi si vede bianco! XD
EH? Non ho capito...
Riporta lo script definitivo.
Ciao!
Script definitivo si fa per dire! XD è una prova con delle cose per uno script che devo fare!
Grazie e ciauu! ;DCodice PHP:
<?php
$path = "./files";
echo "<h1>Lista di '$path'</h1><hr />";
$files = glob($path."/*");
foreach($files as $id=>$file) {
if($file == "." || $file == "..") continue;
echo "<a href=\"?file=$id\">$file</a> - $id<br />";
}
if(isset($id[$_GET["file"]])){
echo "<hr />".$id[$_GET["file"]];
}
?>
A questo punto ho capito che non sai neanche copiare e incollare.
Io ho scritto questo:
e nonCodice PHP:
if( isset($files[$_GET['file']]) ){
echo $files[$_GET['file']];
}
La vedi la differenza?Codice PHP:
if(isset($id[$_GET["file"]])){
echo "<hr />".$id[$_GET["file"]];
}
Ciao!
Ultima modifica di debug : 26-03-2009 alle ore 17.04.44
Ok..problema 1:
L'img non si vede..perchè? xDCodice PHP:
<?php
$path = "./files";
echo "<h1>Lista di '$path'</h1><hr />";
$files = glob($path."/*");
foreach($files as $id=>$file) {
if($file == "." || $file == "..") continue;
$file = str_replace($path."/","",$file);
$est = end(explode(".", $file));
if($est == "png" || $est == "jpg" || $est == "bmp") {
echo "<a href=\"?file=$id\">$file</a> - $id - $est<br />";
}
}
if(isset($files[@$_GET['file']]) ){
$file_ar = trim(htmlspecialchars($files[$_GET['file']]));
$file_ar = str_replace($path."/","",$file_ar);
$get_file = trim(htmlspecialchars($_GET["file"]));
echo "<hr /><img src=\"$file_ar\" alt=\"immy\" width=\"auto\" height=\"auto\" /><br />";
echo "<br />Nome del File di $_GET[file]: ".$file_ar;
}
?>