php renommer des dossiers avec des fichiers en

Je suis en train d'écrire un script en PHP pour réinitialiser mes identifiants dans une base de données. Mais je dois renommer les répertoires de mes tables qui ont le même id.

Donc, j'essaie d'utiliser la fonction renommer mais j'ai échoué.

J'ai toujours "No such file or directory". J'ai essayer le chemin absolu ou relatif, pour changer les chmod, l'utilisation d'un sommeil avant et oui mes dossiers sont existants.

Donc, je voudrais savoir pourquoi cela ne fonctionne pas :

rename('/uploads/photos/'.$old_id.'/', '/uploads/photos/'.$new_id.'/');

Et mes dossiers ont certains fichiers en.

  • reset my ids in a database - généralement pas une bonne idée. Clés primaires doivent être extraites des données, ils se réfèrent - ils doivent avoir un intérêt pour les données lui-même. Veuillez expliquer pourquoi vous sentez que vous avez besoin pour ce faire. Mais pour répondre à la question réelle, essayez rename('uploads/photos/'.$old_id, 'uploads/photos/'.$new_id); sans leading/trailing slash, sauf si tu as vraiment un répertoire dans le système de fichiers racine appelé /uploads (ce dont je doute)...
  • avez-vous essayé sans le slash?
  • Vraiment je pense que l'OS est à la recherche de "téléchargements" dans le dossier racine. Essayez d'utiliser le chemin complet, par exemple: /var/www/uploads/photos/....
  • J'ai besoin de réinitialiser l'id parce que j'ai eu 118k résultats et maintenant seulement 200, de son propre id et les url. Je vais essayer sans la pointe des barres obliques et j'ai essayé sans la fuite et c'était la même chose.
  • Comme déjà écrit par DaveRandom, les valeurs d'id ne doivent JAMAIS être modifiés. Un id est un permanent référence à un enregistrement.
  • Ah ah sans l'attaque et de fuite des barres obliques, j'ai ce message : "le Répertoire n'est pas vide". Alors, comment je peux résoudre ce problème ?
  • Salut, essayez de vérifier ces réponses: stackoverflow.com/questions/9043193/php-rename-failure

InformationsquelleAutor | 2012-08-17