Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/10/2011, 01h31   #1
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
Par défaut url rewriting

bonjour,
voila j'ai un soucis lors de la création d'un répertoire via mkdir, je lui précise bien chmod777 et il me le place en 755.

de plus lors de la création de ce répertoire je voudrais copier automatiquement le contenu d'un autre répertoire et je me retrouve avec une erreur sur chaque dossier de ce répertoire .

Citation:
Warning: copy(site/1.test/admin/style/images.gif) [function.copy]: failed to open stream: No such file or directory in /homepages/12/d384036354/htdocs/blogs/clients/espace_membre/page.php on line 70
récurant sur tout les dossiers du répertoire blog.

je ne suis pas sur mais je pense que mon soucis vient du fait que le répertoire créer n'est pas en 777 mais je ne suis pas sur, pourquoi se créait il en 755 au lieu de 777 ??

de plus je crée une requête pour que le nom du répertoire soit créer en même temps dans le champ "blog" de la bdd mais il me dit que j'ai une erreur sur ma condition, je ne voit pas non plus
merci

code complet :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
session_start();
require_once('config.php');
require_once('verifications.php');
$titre_page='le titre de la page';
include_once('haut.php');
include('index.php');
 
?>
<?php
 
require('config.php');
$id=$_GET['id'];
$blog=$_POST['blog'];
// Insertion d'un enregistrement dans la table membres
 mysql_query ('INSERT INTO membres (blog) VALUES ("'.$blog.'") WHERE id='.$id'')or die (mysql_error);
 
?>
<?php
 
if(!empty($_POST['blog']))
 
{
 
	$nom = htmlspecialchars($_POST['blog']);// supprime les balises html
 
	$nom = str_replace(' ', '_', $nom);// remplace les espaces
 
	$accent = array("é", "è", "ê");// stock les accents des e
 
	$nom = str_replace($accent, 'e', $nom);// les remplaces par un e normal
 
 
 
	$dossier = 'site/'.$id.'.'.$nom.'/';// les dossiers 
 
	if(mkdir($dossier, 0777))// crée le dossier pouvant être lus et écris par php
 
	{
 
		echo ' : L\'espace de stockage pour votre blog est bien crée';
 
	}
 
	else
 
	{
 
		echo 'problème lors de la création';
 
	}
 
}
 
?>
<?php
function CopyDir($origine, $destination) {
    $test = scandir($origine);
 
    $file = 0;
    $file_tot = 0;
 
    foreach($test as $val) {
        if($val!="." && $val!="..") {
            if(is_dir($origine."/".$val)) {
                CopyDir($origine."/".$val, $destination."/".$val);
                IsDir_or_CreateIt($destination."/".$val);
            } else {
                $file_tot++;
                if(copy($origine."/".$val, $destination."/".$val)) {
                    $file++;
                } else {
                    if(!file_exists($origine."/".$val)) {
                        echo $origine."/".$val;
                    };
                };
            };
        };
    }
    return true;
}
 
// Utilisation
$origine = "blog/";
$destination = "site/".$id.".".$nom."/";
if(CopyDir($origine, $destination)) { 
    echo "Le dossier ".$origine." a ete copie avec succes vers ".$destination; 
}; 
?>
<?php
include_once('bas.php');
?>
<? mysql_close; ?>
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 07h38   #2
Membre éclairé
 
Avatar de firehist
 
Homme Benjamin Longearet
Intégrateur Web Freelance
Inscription : février 2008
Messages : 153
Détails du profil
Informations personnelles :
Nom : Homme Benjamin Longearet
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Intégrateur Web Freelance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2008
Messages : 153
Points : 357
Points : 357
Envoyer un message via Skype™ à firehist
Bonjour,

Pour ta requête, il y a une petite erreur de concaténation (id='.$id''):
Code :
1
2
<?php
mysql_query ('INSERT INTO membres (blog) VALUES ("'.$blog.'") WHERE id='.$id) or die (mysql_error);
Et pour le reste, cela me copie bien le dossier complet sans aucun problème. J'ai enlevé le chmod du mkdir(). L'erreur me semble plus que le fichier d'origine serait manquant non ? Soit ton "$origine."/".$val" à la ligne 70?
__________________
Ingénieur Web Freelance - Firehist Studio
Profil Viadeo Benjamin Longearet
Geekos.fr : Blog technique sur les technologies du Web
---
Citation:
De l'innovation nait la solution et inversement
firehist est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 16h29   #3
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
bonjour, merci pour cette réponse mais je me suis eu peut creusé la tete cette nuit et donc je suis arrivé a mes fins.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php
 
require('config.php');
$id=$_GET['id'];
$blog=$_POST['blog'];
// Insertion d'un enregistrement dans la table membres
mysql_query ('UPDATE membres SET blog= "'.$blog.'" WHERE id='.$id.'')or die (mysql_error);
 
?>
<?php
 
if(!empty($_POST['blog']))
 
{
 
	$nom = htmlspecialchars($_POST['blog']);// supprime les balises html
 
	$nom = str_replace(' ', '_', $nom);// remplace les espaces
 
	$accent = array("é", "è", "ê");// stock les accents des e
 
	$nom = str_replace($accent, 'e', $nom);// les remplaces par un e normal
 
 
 
	$dossier = 'site/'.$id.'.'.$nom.'/';// les dossiers 
 
	if(mkdir($dossier, 0777, true))// crée le dossier pouvant être lus et écris par php
 
	{
 
		echo ' : L\'espace de stockage pour votre blog "'.$nom.'" est bien crée <br/><br/>';
		echo 'Vous pouvez commencer a administrer votre blog a cette adresse : <a href="http://blogs.rottax.net/'.$id.'.'.$nom.'/">http://blogs.rottax.net/'.$id.'.'.$nom.'/</a><br/><br/>';
		echo 'Acceder a votre espace membre <a href="profil.php">Clicquez ici</a>';
 
 
	}
 
	else
 
	{
 
		echo 'problème lors de la création';
 
	}
 
}
 
?>
<?php
 
function copy_dir ($dir2copy,$dir_paste)
{
// On vérifie si $dir2copy est un dossier
if (is_dir($dir2copy))
{
 
// Si oui, on l'ouvre
if ($dh = opendir($dir2copy))
{
 
// On liste les dossiers et fichiers de $dir2copy
while (($file = readdir($dh)) !== false)
{
// Si le dossier dans lequel on veut coller n'existe pas, on le créé
if (!is_dir($dir_paste)) mkdir ($dir_paste, 0777);
 
// S'il s'agit d'un dossier, on relance la fonction récursive
if(is_dir($dir2copy.$file) && $file != '..' && $file != '.') copy_dir ( $dir2copy.$file.'/' , $dir_paste.$file.'/' );
 
// S'il sagit d'un fichier, on le copue simplement
elseif($file != '..' && $file != '.') copy ( $dir2copy.$file , $dir_paste.$file );
}
 
// On ferme $dir2copy
closedir($dh);
}
}
}
 
$dir2copy = 'site/blog/';
$dir_paste = 'site/'.$id.'.'.$nom.'/';
 
// Copie le dossier $dir2copy dans le dossir $dir_paste, inutile de créé les dossiers
copy_dir ($dir2copy,$dir_paste);
 
?>
<?php
include_once('bas.php');
?>
<? mysql_close; ?>
maintenant j'aimerais pouvoir créer des sous domaine a la volé.

quand le membre crée son compte ca lui crée donc sont répertoire avec le blog a l’intérieur, j'ai déjà crée un sous domaine afin de pointer sur le répertoire "site" de manière a limité la taille de l'url ce qui me donne actuellement.

http://blog.mon-domaine.net/id-membre.nom-du-blog/

j'aimerais si cela est possible car j'ai pas mal vu qu'il fallais un dedié pour le faire mais hier j'ai vu une info ou il disait le contraire car j'aimerai que cela se traduise par :

http://nom-du-blog.mon-domaine.net et que cela pointe donc sur http://blog.mon-domaine.net/id-membre.nom-du-blog/

j'ai donc récupérer ce lien : http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

mais la je nage dans la soupe car je ne voit pas comment faire, je n'est aucune connaissance dans l'url rewriting.

pourriez vous m'aider svp.

merci
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h09.


 
 
 
 
Partenaires

Hébergement Web