Page 1 sur 1

copie d'un fichier de mon ordi vers le serveur free

Posté : 02 avr. 2010, 23:39
par yeb
Bonsoir. Mon problème n'est sûrement pas original mais je n'y trouve pas de réponse (une après-midi là dessus !) : je veux copier un fichier présent sur mon disque dur (apache2/ubuntu) vers mon site internet.
La commande :
copy('http://127.0.0.1/compo/35.png',"../../. ... ite/35.png");
donne
[function.copy]: failed to open stream: HTTP request failed! in ...
Si je remplace 127.0.0.1 par mon adresse IP, j'ai en plus :
HTTP/1.0 403 Forbidden
J'ai pourtant fait un chmod 755 et même 777 sur le dossier compo, qui appartient à l'utilisateur www-data.
Bien sûr, le fichier http://127.0.0.1/compo/35.png s'affiche dans mon navigateur.

Pourriez-vous m'aider, il ne me reste presque plus de cheveux !

Re: copie d'un fichier de mon ordi vers le serveur free

Posté : 03 avr. 2010, 00:05
par Calimero
Bonsoir,
Pourriez-vous m'aider, il ne me reste presque plus de cheveux !
Je compatis, sincèrement ! Bon sinon, revenons à nos mout... euh, poils :
copy('http://127.0.0.1/compo/35.png',"../../../textes/exos/activite/35.png");
un chemin vers un fichier, sous linux, ressemble à ceci :

Code : Tout sélectionner

/une/série/plus/ou/moins/longue/de/dossiers/et_finalement_un_fichier
Le deuxième paramètre que tu transmets à la fonction copy en est un bon exemple, c'est un chemin que l'on dit relatif, car il ne commence pas par un / initial (qui symbolise la racine de ton système).

Le premier paramètre que tu donnes à copy, en revanche, n'est pas un chemin vers un fichier mais une url. Le :// est caractéristique. Une url a ceci de particulier qu'elle symbolise un chemin d'accès à travers un réseau, ce qui ne peut pas fonctionner partout comme tu l'imagines. Il faudrait donc transformer cette url en une des deux formes valides dont je viens de te parler :)

Si ta configuration d'apache est standard, ton chemin pourrait ressembler à ceci :

Code : Tout sélectionner

/var/www/htdocs/compo/35.png

Re: copie d'un fichier de mon ordi vers le serveur free

Posté : 03 avr. 2010, 00:33
par yeb
Non, car c'est le apache de chez Free qui doit copier un fichier présent sur mon disque dur. Une URL semble donc indispensable.
Maintenant, logiquement, je devrais plutôt mettre mon IP puisque 127.0.0.1 doit être le localhost de chez Free.
Mais bon, avec mon IP, ça ne marche pas non plus (erreur 403 en plus).

Re: copie d'un fichier de mon ordi vers le serveur free

Posté : 03 avr. 2010, 00:42
par Calimero
Non, car c'est le apache de chez Free qui doit copier un fichier présent sur mon disque dur. Une URL semble donc indispensable.
Maintenant, logiquement, je devrais plutôt mettre mon IP puisque 127.0.0.1 doit être le localhost de chez Free.
Mais bon, avec mon IP, ça ne marche pas non plus (erreur 403 en plus).
Dans ce cas, je confirme tout ce que tu viens de dire, tu dois utiliser ton ip (internet l'ip hein, pas une ip de réseau local et pas 127.0.0.1 non plus). Tu peux visiter ce site pour vérifier si tu as un doute : http://whatismyip.com/.

Et si tu obtiens malgré tout ça une 403 (accès non-autorisé) c'est probablement parceque ton apache n'est pas configuré pour autoriser l'accès depuis internet aux fichiers qu'il sert. Il va donc falloir te pencher sur sa configuration (en étant conscient de ce que ça implique).

Re: copie d'un fichier de mon ordi vers le serveur free

Posté : 03 avr. 2010, 00:50
par yeb
Une idée sur les modifications à apporter ?

Sinon, d'autres possibilités (ou pas ?) :
- un programme de sécurité peut-il interférer ?
- la configuration de ma freebox aussi ?

Re: copie d'un fichier de mon ordi vers le serveur free

Posté : 03 avr. 2010, 01:26
par Calimero
Une idée sur les modifications à apporter ?
Regarde du côté des directives Allow & Deny au niveau du VirtualHost principal ( voir le dossier /etc/apache2/sites-available/ ) et/ou du fichier de conf principal. Mais va quand même lire le manuel (pour recharger la configuration d'apache2 notamment), pour ce genre de choses il faut vraiment que tu sois un peu sûr de ce que tu fais, c'est assez critique d'ouvrir un serveur à internet et je ne le ferais pas sans avoir passé sommairement en revue toute la configuration (et les modifs éventuelles à y faire) si j'étais toi :D
Sinon, d'autres possibilités (ou pas ?) :
- un programme de sécurité peut-il interférer ?
- la configuration de ma freebox aussi ?
Pour moi le fait que tu obtiennes une 403 en retour (ajouté au fait que tu n'aies visiblement pas touché à la configuration de ton serveur apache2 après son installation) rend ces deux causes peu probables. Mais selon les cas, ces deux pistes ne seraient en effet pas à exclure.

Re: copie d'un fichier de mon ordi vers le serveur free

Posté : 04 avr. 2010, 15:05
par yeb
Un simple :

Code : Tout sélectionner

copy('http://82.66.130.188/index.html','toto.html');
donne une erreur 403.
Aidez-moi, svp, je galère la dessus depuis 2 jours !

Re: copie d'un fichier de mon ordi vers le serveur free

Posté : 04 avr. 2010, 22:00
par Invité
Bonjour,
j'ai eu le même soucis avec Free, j'ai fini par trouver en fouillant avec Google qu'il fallait passer par php3 pour pouvoir uploader des fichiers de son pc sur l'hebergement free.

j'utilise ce petit code qui marche pas trop mal

Code : Tout sélectionner

<?php $numMo=4; // Nombres de Mo maxi en upload (à modifier) switch($action_Acces) { case "Valider" : $file_types_array = array('zip','rar','pdf'); // extensions acceptés. $taille_ko = (1024*1024)*$numMo; // poids maxi fichier ici 4mo. $origfilename = $_FILES['userfile']['name']; // Nom du fichier sur le disque utilisateur $dir = "dossier_destination/"; if ($taille <= $taille_ko){ $temp = explode('.', $origfilename); // On "explose" le nom du fichier pour chaques "." trouvés. $file_ext = false; $ext= end($temp); for($i=0;$i<sizeof($file_types_array);$i++) // tant que $i est inferieur au nombre d'éléments du tableau... { if (strtolower($ext) === $file_types_array[$i]) { $file_ext = true; } } if ($file_ext == true) { if (!copy($userfile, $dir."$userfile_name")) { print("<br>Probleme de transfert !<br>"); } else { echo "Fichier enregistré : $userfile_name"; } } else { echo "extension non reconnue"; } } else { echo "Le fichier est trop volumineux"; } } default: // FORMULAIRE HTML echo '<table width="95%" border="0" align="left" bgcolor="#BEB69F" style="margin-top:8px;border:1px solid green;">'; echo "<tr><th colspan=2 ><font face='arial' color='black'> Upload de documents .rar, .zip ou .pdf<br>(maxi: $numMo mo)<br></font></th></tr>"; print("<FORM ENCTYPE=\"multipart/form-data\" ACTION=\"PHP_SELF\" METHOD=\"post\">"); print("<INPUT NAME=\"userfile\" TYPE=\"file\" value=\"$userfile\" size=\"40\">"); ?> </td></tr><tr><th colspan=2> <INPUT TYPE="submit" NAME="action_Acces" VALUE="Valider"> </form></th></tr> <?php echo '</td></tr>'; echo '</table>'; } ?>

Re: copie d'un fichier de mon ordi vers le serveur free

Posté : 05 avr. 2010, 14:19
par stealth35
Bonjour,
j'ai eu le même soucis avec Free, j'ai fini par trouver en fouillant avec Google qu'il fallait passer par php3 pour pouvoir uploader des fichiers de son pc sur l'hebergement free.
php3 ca marche pas sur mon minitel...

http://www.php.net/manual/fr/features.file-upload.php

Re: copie d'un fichier de mon ordi vers le serveur free

Posté : 05 avr. 2010, 18:55
par AB
Si cette page est toujours d'actualité http://www.free.fr/assistance/947-acces ... dites.html
chmod est interdit chez free

Re: copie d'un fichier de mon ordi vers le serveur free

Posté : 06 avr. 2010, 06:08
par fredsmn
Bonjour,

j'ai un hebergement Free aussi, et je ne peux pas faire de CHMOD. Par contre dans ce cas on peut contourner le problème avec un code php3, voirici