PHP [PHP]Copia di un file [Aiuto]

Stato
Discussione chiusa ad ulteriori risposte.

d3vil401

Utente Platinum
3 Gennaio 2009
2,077
106
1,055
1,043
Bhe,molto semplice:
devo copiare un file e crearne uno nuovo,io ho fatto così:
Codice:
copy($vecchio,$nuovo);

Il file è un eseguibile,quando lo copia e provo ad aprirlo con un editor esadecimale trovo dei bytes cambiati o aggiunti,sballando e quindi danneggiando il file.
Come mai? come posso risolvere? :)
 
fopen, fread e fwrite si basano sulle stringhe, non va bene!

L'unica alternativa era usare shell_exec, ma da come mi hai detto su skype per qualche motivo anche quello ti da problemi.

Ho cercato su internet e pare che si possa leggere un file come array di byte, ma non puoi scriverlo come binario; solo testo

Mi sa che ti tocca buttarti su altri linguaggi server side :/
 
fopen, fread e fwrite si basano sulle stringhe, non va bene!

L'unica alternativa era usare shell_exec, ma da come mi hai detto su skype per qualche motivo anche quello ti da problemi.

Ho cercato su internet e pare che si possa leggere un file come array di byte, ma non puoi scriverlo come binario; solo testo

Mi sa che ti tocca buttarti su altri linguaggi server side :/
shell_exec funziona solo se il php non è in safe mode che io sappia
 
Codice:
<?php
$f1 = join(file("file.exe"));
$fp = fopen("nuovofile.exe","w+");
fwrite($fp,$f1);
fclose($fp);
?>

prova così
 
prova con:
PHP:
<?php
$fp = fopen("file_vecchio.exe","rb");
$f = fopen("file_nuovo.exe","wb");
while(!feof($fp)) fwrite($f,fread($fp,1024));
fclose($fp);
fclose($f);
?>
 
Stato
Discussione chiusa ad ulteriori risposte.