Comment puis-je créer dans PHP un fichier avec une taille donnée (peu importe le contenu)? P>
Je dois créer un fichier plus grand que 1 Go. Arronlé 4-10 Go maximum p>
4 Réponses :
Vous pouvez utiliser fopen code> et fseek code>
fsek () code> ne modifie pas la taille du fichier.
Maintenant que vous avez modifié le code pour faire un fwrite () code>, cela fonctionne, mais votre réponse d'origine mentionnée uniquement fseek () code>. À l'avenir, vous devriez donner le code complet, comme la version éditée, ou expliquer plus en détail. La personne qui demande la question ne sait pas comment le faire, c'est pourquoi il demande.
Cela échoue lorsque j'essaie de créer un fichier plus grand que 1 Go sur un système de serveur Win 2003 (j'ai tous les droits, et c'est NTFS)
@Mike C'est tout à fait possible que vous le faites et que vous n'arriverez jamais 2 Go sous Windows. La fonction PHP Fsek reçoit un entier, qui est implémenté comme une longue durée (32 bits sous Windows). Même sur Linux, vous pourriez avoir des problèmes. Le support PHP pour les gros fichiers est quelque peu sommaire. Si vous avez vraiment besoin de cela, vous devrez probablement écrire une extension.
J'ai recherché et j'utiliserai EXEC (FSUTIL FILE CREATENEW TEMP.DEL 1000) pour utiliser l'utilitaire fourni inclus "FSUTIL" qui peut créer un fichier aussi gros que je le souhaite.
Si le contenu du fichier est hors de propos, il suffit de cela - mais assurez-vous de ne pas générer une variable trop grande pour maintenir la mémoire: si le fichier doit Soyez lisible par quelque chose d'autre - alors comment cela vous dépend de l'autre chose qui doit le lire. p> c. P> p>
look mon code en bas
^^ La meilleure fonctionnalité est ici avec 0S pour créer un fichier 4 Go ^^ p> test ^^ max dans php 32bit 4 294 967 296: P> CreatFileDumy ('MyDummyFile.iso', 4294967296); P> Vous voulez écrire, lire et créer un fichier mannequin mon code est ici ^^: p> https://github.com/darksynx/php p> < href = "https://stackoverflow.com/questions/8184027/algorithme-a-generate-a-large-dumy-file"> algorithme pour générer un fichier factice p> p>
tard, mais c'est vraiment plus facile que les autres réponses.
`truncate -s 10g foo.dat`;