2014-01-09 3 views
0

Я хотел бы создать копию & переименовать исполняемый файл с параметром $ file и сохранить исходный исполняемый файл. Фрагмент, который я сделал, переименовал исходный файл, но убил оригинальную копиюПереименование файла и сохранение оригинала - PHP

//extract title from navbar ex: download.php?file=setup.exe 
$file= $_GET['file']; 

//assign the futur copy $file to $newfile (not sure if its the best way) 
$newfile = '$file'; 

//assign variable $original to the original executable 
$original ='Setup_1.2.exe'; 

//make a copy of the orignal file so we alway keep original .exe 
copy($original, $newfile); 

// The exe source is in original.exe 
readfile('Setup_1.2.exe'); 

//rename Setup_1.2.exe to parameter $file 
rename ("Setup_1.2.exe", "$file"); 

не могли бы вы просветить меня? большое спасибо

+1

Вы делаете копию, затем перезаписываете ее с помощью функции переименования ... Вы должны использовать разные имена. – Valdas

+0

Вы хотите посмотреть * скопировать файл, а не переименовать его. –

ответ

0
//extract title from navbar ex: download.php?file=setup.exe 
$file= $_GET['file']; 

//assign the futur copy $file to $newfile (not sure if its the best way) 
$newfile = '$file'; 

вы не назначая файл - ваш вар значение $ файл является строкой Wiht файла. , вы назначаете строку [$ file], а не значение, потому что вы используете одиночные квоты.

//assign variable $original to the original executable 
$original ='Setup_1.2.exe'; 

Вы назначаете только строку!

//make a copy of the orignal file so we alway keep original .exe 
copy($original, $newfile); 

однако копирование копирует файлы, найденные с помощью строки значений

// The exe source is in original.exe 
readfile('Setup_1.2.exe'); 

почему вы читаете файл здесь?

//rename Setup_1.2.exe to parameter $file 
rename ("Setup_1.2.exe", "$file"); 

Следующие должны делать то, что вы хотите:

//read new filename from GET - myabe path is missing - not safe! 
$new_file_name = $_GET['file']; 

//set original filename - myabe path is missing 
$original_file_name ='Setup_1.2.exe'; 

//make a copy of the orignal file so we alway keep original .exe - myabe path is missing 
copy($original_file_name, $new_file_name); 
+0

Thx вы за свой ответ, да, похоже, я пропустил какой-то момент :) thx you niyou для вашего фрагмента, я понимаю больше сейчас, также вы напоминаете мне, что код небезопасен – Maltazar

+0

проклятый thx вы, что было слишком легко код вы дали мне LOL я не то, где я получил с моим мозгом ... thx вы снова – Maltazar

+0

как насчет маркировки мой тент как правильный? ;-) – niyou

-1
//extract title from navbar ex: download.php?file=setup.exe 
$file= $_GET['file']; 

//assign the futur copy $file to $newfile (not sure if its the best way) 
$newfile = $file; 

//assign variable $original to the original executable 
$original ='5.exe'; 

//make a copy of the orignal file so we alway keep original .exe 
copy($original, $newfile); 

вы должны использовать двойные кавычки при назначении переменной на другую, и нет необходимости использовать «переименовывать» метод здесь.

+0

thx вы это работаете так, как я хочу, единственная проблема теперь в том, что в файле параметров «нет» «.exe» в конце он не будет переименовывать с .exe есть способ добавить .exe, пожалуйста? – Maltazar

Смежные вопросы