2010-11-29 4 views
0

Je suis en train de construire une chaîne pour détecter si le nom de fichier a du sens ou s'il est complètement aléatoire avec PHP. J'utilise des expressions régulières.Détecter des chaînes aléatoires

Un nom de fichier valide = sample-image-25.jpg

Un nom de fichier aléatoire = 46347sdga467234626.jpg

Je veux vérifier si le nom de fichier est logique ou non, sinon, je veux alerter l'utilisateur de fixer le nom du fichier avant de continuer.

Toute aide?

+3

Pouvez-vous nous donner quelques règles qui pourraient aider à différencier entre "valide" et "aléatoire"? –

+0

si les noms de fichiers sont dit ascii il n'y a pas de raison autre que l'exigence de format que ces deux ne sont pas valides de sorte que nous pouvons seulement vérifier un format dit sans un format que vous ne pouvez pas vérifier –

+0

pourrait le faire de manière fiable. Pourquoi exactement ne sont pas des fienonymes aléatoires ok? – thejh

Répondre

5

Je ne suis pas vraiment sûr que ce soit possible parce que je ne suis pas sûr qu'il soit possible de définir "aléatoire" d'une manière que l'ordinateur comprendra suffisamment bien. "Umiarkowany" semble aléatoire, mais c'est un mot parfaitement valide que j'ai tiré de la page Wikipédia en polonais pour la Corée du Sud.

Mon conseil est de réfléchir plus en profondeur aux raisons pour lesquelles ce détail de conception est important et de chercher une solution plus réaliste au problème sous-jacent.

2

Vous avez besoin de beaucoup de travail là-dessus. Vous devriez faire un énorme tableau du mot le plus utilisé (comme un dictionnaire) et vérifier si la plupart du travail à l'intérieur du fichier (peut-être séparé par - ou _) sont là et il aura d'énormes bugs.

Fondamentalement, vous aurez besoin de

  • explode()
  • implode()
  • array_search() ou in_array()

Prenez la corde et la recherche d'un morceau de colle comme "_" ou "-" avec preg_match(); S'il y en a, exploser la chaîne dans un tableau et comparer ce tableau avec le tableau de dictionnaire. Ou, puisque presque tous les mots ont une voyelle et des consonnes alternatives, vous pouvez créer un script énorme qui vérifie que la plupart des mots à l'intérieur du nom du fichier sont considérés comme "non-aléatoires". Mais le problème sera le même: pourquoi en avez-vous besoin? Vérifiez une solution plus flexible.

Avis: Considérons que même un simple-and-friendly-file.png pourrait être le résultat d'un générateur de chaîne.

Bonne chance avec ça.

Questions connexes