Accueil > Forum > > > > Enregistrement automatique sur un serveur d'une image en ligne
Enregistrement automatique sur un serveur d'une image en ligne
jeudi 19 mai 2011 à 12:01:45 |
Enregistrement automatique sur un serveur d'une image en ligne

julien2424
|
Bonjour à tous
Je suis débutant en php, mais vraiment, vraiment :D
Ce que je souhaiterai faire, c'est récupérer automatiquement (sans bouton parcourir) une image stockée sur un site distant(avec son URL) et pouvoir l'enregistrer sur mon serveur dans un dossier spécifique.
Après coup, quand l'image est actualisée sur l'url du site distant, que celle enregistrée sur mon serveur puisse être écrite par dessus pour la tenir à jour.
C'est possible?
Car ça fait des jours et des jours que je cherche, et je trouve que des lignes de codes avec de bouton parcourir.
Merci beaucoup de votre aide
Jules
|
|
jeudi 19 mai 2011 à 12:12:51 |
Re : Enregistrement automatique sur un serveur d'une image en ligne

syndrael
|
Et dans ton code HTML tu ne peux pas pointer sur l'URL de cette image distante ? C'est peut-être la façon la plus simple. Quel est l'avantage de l'avoir sur ton serveur ?
S.
|
|
jeudi 19 mai 2011 à 12:21:34 |
Re : Enregistrement automatique sur un serveur d'une image en ligne

julien2424
|
Actuellement, c'est ce que je fais, mais le problème c'est qu'il y a 15 images, assez lourdes qui par un script, s'anime les une à la suite des autres, et change toute les 1 sec.
Certaines sont tellement lourdes qu'elle ne se charge pas dans le temps imparti et l'animation passe direct à la suivante.
De plus, les images sont rechargée par le navigateur à chaque fois, même la boucle achevée.
Je pense qu'en les enregistrant sur mon serveur, il n'y aurais plus d'images "sautés" puisqu'elle n'aurais pas a être téléchargée à chaque fois?
Jules
|
|
jeudi 19 mai 2011 à 13:07:46 |
Re : Enregistrement automatique sur un serveur d'une image en ligne

syndrael
|
Ou alors tu utilises Javascript.
1. tu lances une attente coté affichage graphique
2. pendant ce temps tu mets en cache tes images ?
3. tu affiches les images en cache de ton navigateur
S.
|
|
jeudi 19 mai 2011 à 13:13:48 |
Re : Enregistrement automatique sur un serveur d'une image en ligne

julien2424
|
Ah pourquoi pas. ;)
Bon je suis pas plus futé en javascript qu'en php
Mon code actuel est:
Code Javascript : <script>
var pictureArchive= ['http://www.siteweb.fr','http://www.siteweb.fr'];
window.onload=function() {
var o=document.createElement('img');
o.setAttribute('id', 'image');
o.setAttribute('src', pictureArchive[0]);
o.setAttribute('alt', '');
document.body.appendChild(o);
rotate(pictureArchive.length);
}
function rotate(idx) {
if(idx>=pictureArchive.length) {
idx=0;
}
document.getElementById('image').src=pictureArchive[idx++];
timerID=setTimeout('rotate('+idx+')', 1000);
}
</script>
|
|
jeudi 19 mai 2011 à 14:31:36 |
Re : Enregistrement automatique sur un serveur d'une image en ligne

cod57
|
Réponse acceptée !
bonjour
les propositions de syndrael sont je crois les plus simples et evidentes
mais si tu veux faire un script j'ai bricolé ça vite fait pour une image
pour 25 images faudra faire une boucle ... pas le temps
Code PHP :
<?php
if( !ini_get('safe_mode') ){
set_time_limit(500);
}
/*
http://www.white-hat-web-design.co.uk/articles/php-image-resizing.php
http://www.codeartistique.com/2009/01/08/connaitre-le-poids-dun-fichier-distant-utile-en-php-4x.html
*/
/*tu peux enlever cette fonction c'est juste pour le poids ...*/
function Remote_Filesize($url) {
$sch = parse_url($url, PHP_URL_SCHEME);
if (($sch != "http") && ($sch != "https") && ($sch != "ftp") && ($sch
!= "ftps")) {
return false;
}
if (($sch == "http") || ($sch == "https")) {
$headers = @get_headers($url, 1);
if (!is_array($headers)){$headers=array();}
if ((!array_key_exists("Content-Length", $headers))) { return
false; }
return $headers["Content-Length"];
}
if (($sch == "ftp") || ($sch == "ftps")) {
$server = parse_url($url, PHP_URL_HOST);
$port = parse_url($url, PHP_URL_PORT);
$path = parse_url($url, PHP_URL_PATH);
$user = parse_url($url, PHP_URL_USER);
$pass = parse_url($url, PHP_URL_PASS);
if ((!$server) || (!$path)) { return false; }
if (!$port) { $port = 21; }
if (!$user) { $user = "anonymous"; }
if (!$pass) { $pass = "phpos@"; }
switch ($sch) {
case "ftp":
$ftpid = ftp_connect($server, $port);
break;
case "ftps":
$ftpid = ftp_ssl_connect($server, $port);
break;
}
if (!$ftpid) { return false; }
$login = ftp_login($ftpid, $user, $pass);
if (!$login) { return false; }
$ftpsize = ftp_size($ftpid, $path);
ftp_close($ftpid);
if ($ftpsize == -1) { return false; }
return $ftpsize;
}
}
/*
* File: SimpleImage.php
* Author: Simon Jarvis
* Copyright: 2006 Simon Jarvis
* Date: 08/11/06
* Link: http://www.white-hat-web-design.co.uk/articles/php-image-resizing.php
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details:
* http://www.gnu.org/licenses/gpl.html
*
*/
class SimpleImage {
var $image;
var $image_type;
function load($filename) {
$image_info = getimagesize($filename);
$this->image_type = $image_info[2];
if( $this->image_type == IMAGETYPE_JPEG ) {
$this->image = imagecreatefromjpeg($filename);
} elseif( $this->image_type == IMAGETYPE_GIF ) {
$this->image = imagecreatefromgif($filename);
} elseif( $this->image_type == IMAGETYPE_PNG ) {
$this->image = imagecreatefrompng($filename);
}
}
function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) {
if( $image_type == IMAGETYPE_JPEG ) {
imagejpeg($this->image,$filename,$compression);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image,$filename);
} elseif( $image_type == IMAGETYPE_PNG ) {
imagepng($this->image,$filename);
}
if( $permissions != null) {
chmod($filename,$permissions);
}
}
function output($image_type=IMAGETYPE_JPEG) {
if( $image_type == IMAGETYPE_JPEG ) {
imagejpeg($this->image);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image);
} elseif( $image_type == IMAGETYPE_PNG ) {
imagepng($this->image);
}
}
function getWidth() {
return imagesx($this->image);
}
function getHeight() {
return imagesy($this->image);
}
function resizeToHeight($height) {
$ratio = $height / $this->getHeight();
$width = $this->getWidth() * $ratio;
$this->resize($width,$height);
}
function resizeToWidth($width) {
$ratio = $width / $this->getWidth();
$height = $this->getheight() * $ratio;
$this->resize($width,$height);
}
function scale($scale) {
$width = $this->getWidth() * $scale/100;
$height = $this->getheight() * $scale/100;
$this->resize($width,$height);
}
function resize($width,$height) {
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
$this->image = $new_image;
}
}
/*ton rep de stockage*/
$rep='mini';
if(file_exists($rep)){
}else{
mkdir($rep,chmod($rep, 755)); /*yo unix seulement*/
}
/*1 à 25 faire une boucle */
$f='http://upload.wikimedia.org/wikipedia/commons/archive/3/3c/20090824120448!Nicolas_Sarkozy_(2008).jpg';
$i=explode('/',$f);
$x=(count($i)-1);
echo '<pre>';
print_r($i);
echo '</pre>';
echo $img=$i[$x];
$n=$rep.'/'.$img;
if(file_exists($rep.'/'.$img)){
//on fait rien il existe
}else{
//$file = file_get_contents ($f);
/*
echo '<pre>';
$r2=getimagesize($f);
$r3=Remote_Filesize($f);
print_r($r2);
print_r($r3);
echo ' OCTETS ';
echo '</pre>';
*/
/*on redimensionne et enregistre*/
$image = new SimpleImage();
$image->load($f);
$image->resizeToHeight(480);
$image->save($n);
echo 'reussi';
}
?>
 Bonne programmation !
|
|
Cette discussion est classée dans : ligne, enregistrement, image, serveur, automatique
Répondre à ce message
Sujets en rapport avec ce message
Enregistrement d'une image sur le serveur [ par MHI ]
Bonjour, J'aimerai mettre sur mon site la possibilité à une personne d'ajouter une image sur le site.Comment fait-on pour proposer une zone de texte a
Supression automatique MySQL [ par chatainsim ]
Bonsoir, j'aurais aimer savoir si il est possible de supprimer automatiquement une ligne MySQL Je m'explique : En fait il faudrais pouvoir compter le
Enregistrement d'image depuis un sous dossier. [ par needle ]
Salut tous le monde!!! Voila j'expose mon cas: J'upload une image et la redimensionne avant de l'enregistrer sur le serveur (free) pour cela j'utilise
Image,upload et unlink [ par Steph666 ]
Bonjour à tous,Existe-t-il un moyen de supprimer une image uploadée sur le serveur lorsque l'utilisateur ferme de façon intempestive son navigateur, e
Fichier texte [Saut de ligne] [ par lolorenzeb ]
Salut tous le monde, voila j'ai un gros souci avec l'insertion de données dans in fichier texte. En fait j'arrive bien à insérer des données mais le
Compression d'image automatique [ par w_minisplash_w ]
Salut all, C'est le premier message que je dépose alors je vais essayer d'être clair... Je vous expose le problème: Je veux gérer un systè
effacer une image d'un serveur par php [ par astro58 ]
bonjour,j'aimerai savoir s'il existe une fonction php pour effacer une image d'un serveur à distance dans une partie admin d'un site. Je sais les uplo
Tester si un server est en ligne !!!! [ par FearBlue ]
Slt a tous !!!!Je réalise un scripts tres simple afin de savoir via une page web si mon server est en ligne Rien de bien sorcier mais g un probleme vo
tester serveur [ par supergrey ]
Bonjour, dans une page php j'affiche une image provenant d'un autre serveur après l'avoir redimensionnée. Le probleme c'est que le serveur en question
fonction d'enregistrement automatique [ par Jey101 ]
Bonjour,Est il possible, à l'aide d'une fonction d'enregistrer automatiquement des pages créées en php ?En fait dans mon projet, je vais differents ca
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|