Al usar un url wrapper, puede usar su move_uploaded_file() predeterminado, si su servidor ftp acepta este tipo de conexión. Alternativamente, puede usar PHP's ftp functions, especialmente ftp_put(), para cargar el archivo en el servidor.
Para la entrega de contenido, es necesario tener una base de datos u otros medios para obtener la dirección URL original en el servidor de distribución de contenido y poner la url en los argumentos html:
<img src="http://cdn1.example.com/images/68263483.png" />
<a href="http://cdn2.example.com/files/9872345.pdf">Download PDF</a>
Un código de ejemplo para manejar una subida archivos serían
<?php
// ...
$uploads_dir = 'images';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name,
"ftp://user:[email protected]/$uploads_dir/$name");
// save url in your database for later retrieval ...
}
}
o con ftp_put():
<?php
// ...
$ftpCon = ftp_connect('cdn1.example.com')
or die('Could not connect to ftp server');
$uploads_dir = 'images';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
ftp_put($ftpCon, "$uploads_dir/$name", $tmp_name)
or die("could not upload $name to ftp server");
// save url in your database for later retrieval ...
}
}
¿Qué tipo de archivos se almacenan en el servidor secundario? – ExtremeCoder
Necesita mucha más información. ¿Qué tipo de SO son los servidores que se ejecutan? ¿Tiene acceso de administrador a él? –
Gracias por sus comentarios, los archivos serán cargados por el usuario de la aplicación. Puede ser pdf, doc e imágenes. El servidor debe estar basado en Linux. Debo tener acceso de administrador porque sin eso podría no ser posible – phpian