Curs Php-mysql

Codul prezentat in aceasta pagina poate fi folosit pentru a salva / copia pe server imagini de la o adresa URL externa.

- Important: Daca lucrati pe sistem Linux, PHP trebuie sa aibe permisiuni CHMOD de scriere in directorul in care vor fi salvate fisierele imagini.
<?php
// functie pentru preluare continut de la o adresa URL, cu cURL
// returneaza continutul de la adresa din parametru $url
function getContentUrl($url) {
 // https://coursesweb.net/php-mysql/
  // Setare optiuni pentru cURL
  $ch = curl_init($url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
  curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/21.0 (compatible; MSIE 8.01; Windows NT 5.0)');
  curl_setopt($ch, CURLOPT_TIMEOUT, 200);
  curl_setopt($ch, CURLOPT_AUTOREFERER, false);
  curl_setopt($ch, CURLOPT_REFERER, 'http://google.com');
  curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);    // Urmareste raspunsurile redirectionate

  // obtine continutul, da eroare daca e false
  $file = curl_exec($ch);
  if($file === false) trigger_error(curl_error($ch));

  curl_close ($ch);
  return $file;
}

$src = 'https://marplo.net/imgs/webcourses.gif';       // Adresa imaginii
$dirimg = 'imgs/';            // directorul in care e salvat fisierul cu imaginea
$localfile = $dirimg. basename($src);         // seteaza numele fisierului acelasi cu numele imaginii de la sursa

// creaza fisierul cu imaginea pe server
file_put_contents($localfile, getContentUrl($src));

// Test, afiseaza imaginea salvata
echo '<img src="'. $localfile .'" />';
?>
Daca fisierul cu acel nume e deja in directorul din $dirimg, va fi inlocuit cu noua imagine.
Daca vreti sa nu inlocuiti fisierul vechi, ci sa salvati imaginea intr-un fisier cu alt nume, inlocuiti aceasta linie:
file_put_contents($localfile, getContentUrl($src));
Cu acest cod:
// primeste adresa fisierului, prin referinta
function setLocalfile(&$localfile) {
  GLOBAL $dirimg;
  $imgnm = basename($localfile);      // obtine numele fisierului
  preg_match('/^[0-9]*/i', $imgnm, $nrimg);      // preia numarul de la inceputul numelui
  if($nrimg[0] === '') $imgnm = '0_'. $imgnm;   // daca nu e vreun numar, seteaza 0
  else $imgnm = str_replace($nrimg[0], $nrimg[0] + 1, $imgnm);       // inlocuieste numarul cu urmatorul
  $localfile = $dirimg. $imgnm;        // seteaza noul nume, transmis prin referinta la $localfile
  if(file_exists($dirimg. $imgnm)) setLocalfile($localfile);        // apel3eaza sa creeze alt nume, daca exista deja
}

// daca fisierul exista in $dirimg, apeleaza setLocalfile() pt a crea alt nume, consecutiv
if(file_exists($localfile)) setLocalfile($localfile);

// creaza fisierul cu imaginea pe server
file_put_contents($localfile, getContentUrl($src));
- Acest cod, functia setLocalfile() defineste un nou nume de fisier, cu un numar consecutiv la inceput (image.png, 0_image.png, 1_image.png, ...).

- Functia getContentUrl() poate fi utilizata pentru a prelua si continut HTML de la o pagina externa.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag HTML5 adauga o aplicatie externa (SWF, PDF) in pagina web?
<mark> <embed> <canvas>
<embed src="flash_game.swf" width="450" height="350" />
Ce pseudo-element adauga un anume stil la prima linie de text din element?
:first-letter :before :first-line
#id:first-line {
  font-weight: bold;
  color: blue;
}
Clic pe proprietatea obiectului window care preia sau seteaza adresa URL a paginii curente.
window.location window.self window.status
var url = window.location;
alert(url);
Indicati functia PHP care preia continutul unui fisier sau pagina si-l adauga intr-un sir.
fopen() file_put_contents() file_get_contents()
$homepage = file_get_contents("http://www.marplo.net/");
echo $homepage;
Care din urmatoarele perechi de numere sunt in ordine unul dupa altu?
seven - eight ten - six three - five
This fruit has seven or eight seeds.
- Acest fruct are sapte sau opt seminte.
Care din urmatoarele perechi de numere sunt in ordine unul dupa altu?
diez - seis siete - ocho tres - cinco
Esta fruta tiene siete u ocho semillas.
- Acest fruct are sapte sau opt seminte.
Salveaza pe server imagine de la adresa URL

Last accessed pages

  1. Clase si Obiecte - Elemente statice (1040)
  2. Blog si Cugetari Personale (104419)
  3. Curs si Tutoriale JavaScript (129010)
  4. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (234229)
  5. CSS3 - Border proprietati noi (1309)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (304)
  2. Curs si Tutoriale JavaScript (172)
  3. Curs PHP MySQL, Tutoriale si Scripturi PHP (171)
  4. Curs HTML gratuit Tutoriale HTML5 (166)
  5. Curs CSS Online Tutoriale CSS3 (152)