Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Skrypty konwertujące pliki.
Forum PHP.pl > Forum > Przedszkole
renovatio
Witam!
Czy ktoś mógłby mi podsunąć pomysł jak i gdzie szukać skryptów w php konwertujących pliki.
Chodzi mi o to że mam np.
- obrazek w jpeg i chce go zamienić na png lub gif.
- filmik w avi i chce go zamienić na 3gp,mp3,mpeg
- dokument w formacie doc lub odt i zamienić go na pdf.


Gdzie szukać takich skryptów??
Próbowałem szukać z google ,ale może to jakoś inaczej się nazywa.




lobopol
1. biblioteka gd
2. nie zrobisz przez php możesz użyć jakiegoś konsolowego konwertera odpalanego przez php np. ffmeg
3. Jak i do powyższych mogłeś użyć google http://lmgtfy.com/?q=doc+to+pdf+php
renovatio
Czy jest ktoś w stanie mi po kolei wytłumaczyć jak zabrać się za zrobienie stronki z konwersją plików online.
Znaczy ładuję stronę klikam przycisk "wybierz plik" np. jpg drugi przycisk konwertuj na png i za chwilę ukazuje się link do obrazka w formacie png.
Mam zainstalowanego NetBeans i xampp.
lobopol
Przy obrazkach to jest banał, osoba wgrywa plik ty go przerabiasz i od razu przekierowujesz na plik wynikowy (header), możesz dodatkowo w bazie zapisać położenie tego pliku na serwerze i adres na jakim jest dostępny.
Przy filmach/plikach doc już tak tego nie zrobisz. Konwertowanie filmów może potrwać nawet kilkadziesiąt minut. W takiej sytuacji możesz to zrobić na zasadzie:
-użytkownik wgrywa plik
-zapisujesz sobie informacje o tym pliku w bazie (położenie pliku, adres z którego plik będzie dostępny, status, kto wgrał .itp)
-przekierowujesz osobę na adres z którego plik będzie dostępny
-na tej stronie sprawdzasz czy plik już nie został przerobiony (na podstawie statusu z bazy), jeżeli tak wyświetlasz, jeżeli nie dajesz informacje o aktualnym statusie pliku

i drugi skrypt teraz który odpala się cronem (albo jest demonem), pobiera najstarszy wpis ze statusem do zrobienia, ustawia mu status na np. "w toku" (aby drugi raz go nie dotykać), jak skończy poprawnie to zmienić mu status na np. "przerobiony" a jak plik okazuje się uszkodzony to na np. "uszkodzony"
renovatio
Jestem w tym zielony szukam i powoli robię kroczek po kroczku, ale mam jeszcze pytanie.
Mam dwa skrypty:
Każdy z nich uruchomiony osobno działa.
Pierwszy,wysyłający plik na serwer.
Zrobiony jest na sztywno
Wygląda to tak że mam tam dwa przyciski
-wybierz plik
-wyślij plik
Kod
<?php
echo '<?xml version="1.0" encoding="windows-1250"?>';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=windows-1250" />
<title>Upload</title>
</head>
<body>

<div>
<form enctype="multipart/form-data" action="index.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="5000000" />
<input name="plik" type="file" />
<input type="submit" value="Wyślij plik" />
<input type="submit" value="convertuj" />

</form>
</div>

<?php
$plik_tmp = $_FILES['plik']['tmp_name'];
$plik_nazwa = $_FILES['plik']['name'];
$plik_rozmiar = $_FILES['plik']['size'];


if(is_uploaded_file($plik_tmp))
{
     move_uploaded_file($plik_tmp, "D:/konw/$plik_nazwa");
    echo "Plik został przesłany na serwer!";
}
?>
  
</body>
</html>

Chciałbym zrobić trzeci:
-konwertuj
po naciśnięciu którego wykona się ten kod
Kod
<?php
convertToFlv( "D:/xampp/htdocs/mo/clock.avi", "D:/xampp/htdocs/mo/cosik.mp3" );
function convertToFlv( $input, $output ) {
   echo "Converting $input to $output<br />";
   $command = "D:/konw/ffmpeg -i $input -vn -ar 44100 -ac 2 -ab 192 -f mp3 $output";
   echo "$command<br />";
   shell_exec( $command );
   echo "Converted<br />";
}

?>


Jak to zrobićquestionmark.gif
lobopol
  1. <?php if(isset($_POST['aaa'])){
  2. tutaj sobie konwertuj
  3.  
  4. }?>
  5.  
  6. <form action="adresjakis" method="post">
  7. <input type="submit" name="aaa" value="konwertuj"/>
  8. </form>
  9.  
  10.  
jackraymund
to zrob zapytanie w wyslij czy np. format tego to mp3 itd. to wtedy wykonaj
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.