Bonjour à toutes et tous,
Je prépare un petit prog pour créer un dossier, uploader un dossier en zip, et normalement le decompresser dans le dossier précédement créé.
C'est là que ça se corse.
J'ai un petit formulaire pour créer le dossier :
Jusqu'ici tout va bien, puis un petit prog pour créer ce dossier
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <form enctype="multipart/form-data" method="post" action="zip2.php"> <label>Nom du dossier avec / a la fin : <input type="text" name="dossier" /></label> <br /> <input type="submit" name="submit" value="Envoyer" /> </form>
Puis je recupere tout ça pour charger le zip et le decompresser dans le dossier créé avec ce code là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?php $structure = 'photos/galleries/'; $dossier = $_POST['dossier']; if(@mkdir ($structure . $dossier,0777,true)) { echo"Dossier créé"; } else { echo"En attente du nom de dossier"; } ?> <form method=POST action=zip.php> <input type="hidden" name="var1" value="<?php echo "".$structure."" ?>"></input> <input type="hidden" name="var2" value="<?php echo "".$dossier."" ?>"></input> <input type="submit" value="Charger photos"></input> </form>
C'est ici que ca m.... à mon avis ce sont les lignes 32 et 37 par rapport au chemin du dossier qui ne vont pas, et j'avoue bien que là, je suis planté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php // pour vérifier que tout s'est bien passé $_POST["var1"]; $_POST["var2"]; $structure= $_POST["var1"]; $dossier= $_POST["var2"]; $chemin = $structure . $dossier ; echo $chemin; ?> <?php if( $_FILES [ "zip_file" ][ "name" ]) { $filename = $_FILES [ "zip_file" ][ "name" ]; $source = $_FILES [ "zip_file" ][ "tmp_name" ]; $type = $_FILES [ "zip_file" ][ "type" ]; $name = explode ( "." , $filename ); $accepted_types = array( 'application/zip' , 'application/x-zip-compressed' , 'multipart/x-zip' , 'application/x-compressed' ); foreach( $accepted_types as $mime_type ) { if( $mime_type == $type ) { $okay = true ; break; } } $continue = strtolower ( $name [ 1 ]) == 'zip' ? true : false ; if(! $continue ) { $message = "Le fichier que vous essayez de charger n'est pas de type .zip.Essayer a nouveau." ; } $target_path = $chemin . $filename ; if( move_uploaded_file ( $source , $target_path )) { $zip = new ZipArchive (); $x = $zip -> open ( $target_path ); if ( $x === true ) { $zip -> extractTo ( $chemin ); $zip -> close (); unlink ( $target_path ); } $message = "Votre fichier .zip est uploade et decompresse." ; } else { $message = "Il y a un probleme avec upload. Essayez a nouveau." ; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Untitled Document</title> </head> <body> <?php if( $message ) echo "<p> $message </p>" ; ?> <form enctype="multipart/form-data" method="post" action=""> <label>Choisir le fichier .zip : <input type="file" name="zip_file" /></label> <br /> <input type="submit" name="submit" value="Upload" /> </form> </body> </html>
Si l'un de vous peut m'aider dans cette galère je lui en serai reconnaissant
En tout cas merci de vous pencher sur ce problème... Et bonne journée
Cordialement
Partager